我在VBA中有一些代码块模块可以在少数Access数据库上运行.如果我想将编码转换为C#环境,我想知道如何继续.是否有可能实现和获得与我现在使用Access和VBA相同的结果?在这一点上,我对C#完全陌生.
如何在MS Access VBA中的单独线程上创建运行的进程?我想创建一个只会等待消息的进程.
有没有一种简单的方法可以通过宏或其他方式来做到这一点?通过计算字段,我指的是从其他字段计算的字段与原始输入值.突出显示我的意思是颜色不同.我需要这个来更好地理解客户端的大型电子表格.
所以我有一个带有前端和后端的Access数据库.我将很快将它分发给用户,但我无法控制他们将文件放在计算机上的确切位置.但是,我认为我可以指望他们将前端和后端放在同一个文件夹中.
因此,当前端打开时,我希望它检查链接表是否正确连接到后端数据库.我有工作代码; 但是我不知道把它放在哪里.当前端打开时,会自动打开一个菜单表单(通过启动对话框进行配置).我把代码放在OnOpen事件中,我认为在加载任何数据之前就已经发生了,但是当我测试它时,我收到一条消息,告诉我无法找到后端(它正在寻找旧的位置).
基本上,是否有一个我可以使用的事件在任何表格打开之前运行?
以下代码有效.但是,如果我注释掉该行Dim objRequest As MSXML2.XMLHTTP并取消注释该行,Dim objRequest As Object则会失败并显示错误消息:
参数不正确
为什么,以及我可以做些什么(如果有的话)?
Public Function GetSessionId(strApiId, strUserName, strPassword) As String
Dim strPostData As String
Dim objRequest As MSXML2.XMLHTTP
'Dim objRequest As Object '
strPostData = "api_id=" & strApiId & "&user=" & strUserName & "&password=" & strPassword
Set objRequest = New MSXML2.XMLHTTP
With objRequest
.Open "POST", "https://api.clickatell.com/http/auth", False
.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
.send strPostData
GetSessionId = .responseText
End With
End Function
Run Code Online (Sandbox Code Playgroud)
Corey,是的,我知道我必须这样做才能使我的代码在没有引用MSXML类型库的情况下工作.这不是问题所在.Dim objRequest As Object无论我是否使用,代码在使用时都会失败
Set objRequest = NEW MSXML2.XMLHTTP …
如何确定用户(例如Access)是否是Active Directory安全组的成员?
我宁愿不在我的小型Access数据库中构建一个完整的身份验证系统.
谢谢
问题
Declare语句链接到一个DLL,其路径可以在VBA宏中确定试图解决方案
我尝试Declare使用ThisDocument.VBProject.CodeModule.AddFromString(code)从正常目录加载模板时使用的语句动态添加代码,但是当模板在Word\STARTUP中时,它会给出以下错误:
运行时错误'50289':
由于项目受到保护,无法执行操作.
并且当模板在Word\STARTUP中时,将注册表项"HKEY ___ LOCAL_MACHINE\Software\Microsoft\Office\11.0\Word\Security\AccessVBOM"设置为1不会解决此问题
我真的很难找到解决方案.如果有人知道这样做的方法,那就太好了.
我有一个Word文档,其中包含两个嵌入的Excel文件(使用Insert - > Object - > Create From File添加),我希望使用Word VBA进行修改.我已经到了能够打开嵌入文件进行编辑的程度(参见下面的代码),但是我无法处理Excel工作簿,我可以使用它来进行修改并保存嵌入文件.有人有解决方案吗?提前致谢.
Sub TestMacro()
Dim lNumShapes As Long
Dim lShapeCnt As Long
Dim xlApp As Object
Dim wrdActDoc As Document
Set wrdActDoc = ActiveDocument
For lShapeCnt = 1 To 1 'wrdActDoc.InlineShapes.Count
If wrdActDoc.InlineShapes(lShapeCnt).Type = wdInlineShapeEmbeddedOLEObject Then
If wrdActDoc.InlineShapes(lShapeCnt).OLEFormat.ProgID = "Excel.Sheet.8" Then
'This opens the embedded Excel workbook using Excel
wrdActDoc.InlineShapes(lShapeCnt).OLEFormat.Edit
End If
End If
Next lShapeCnt
End Sub
Run Code Online (Sandbox Code Playgroud) 我正在尝试在Excel宏中调用Web服务:
Set objHTTP = New MSXML.XMLHTTPRequest
objHTTP.Open "post", "https://www.server.com/EIDEServer/EIDEService.asmx"
objHTTP.setRequestHeader "Content-Type", "text/xml"
objHTTP.setRequestHeader "SOAPAction", "PutSchedule"
objHTTP.send strXML
Run Code Online (Sandbox Code Playgroud)
我得到以下回复:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>Server did not recognize the value of HTTP Header SOAPAction: PutSchedule.</faultstring>
<detail />
</soap:Fault>
</soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)
以前有人做过这样的事吗?
我正在使用Power Point中的自定义功能区,我需要遍历所有选项卡并获取它们的ID.
功能区包含从不同项目(C++,C#)添加的选项卡作为插件,我不知道他们的ID.我正在使用VBA来处理从功能区发起的事件.
如何使用VBA从功能区中的所有选项卡中获取ID?
提前致谢.