相关疑难解决方法(0)

如何在VBA中使用FileSystemObject?

有什么我需要参考的吗?我该如何使用:

Dim fso As New FileSystemObject
Dim fld As Folder
Dim ts As TextStream
Run Code Online (Sandbox Code Playgroud)

我收到错误,因为它无法识别这些对象.

excel vba filesystemobject

105
推荐指数
3
解决办法
33万
查看次数

一种自动执行MS Office VBA代码“编译”功能的方法

通常,当我对VBA文件进行更改时,我喜欢对其进行编译以确保所做的更改不会破坏任何内容:

在此处输入图片说明

但是在具有不同版本Office的不同机器上进行编译将导致不同的结果,有时将进行编译,有时则不会…… 可能发生这种情况,或者可能发生这种情况。事实证明,在每个版本的excel中,各种情况都可能有所不同(尽管引用是最常见的问题)。

我将如何自动执行VBA代码的编译?我希望能够在Excel,PowerPoint和Word等多种产品中做到这一点,我希望能够在2010、2013、2016等版本中编译为32位和64位。

更新1

是的,这仍然是一个主要的痛点,现在我有一系列的手动测试人员(人员)根据我们的发布时间表来审查各种不同配置上的所有相关文件,必须有一种更好的方法来做到这一点。

我希望使用某种PowerShell脚本/.Net项目(C#,VB.NET)可以完成此任务,即使我必须使用一堆Office版本安装服务器,我认为这样做也很值得投资。

我想,在最坏的情况下,您可以将所有这些不同的版本安装到各种VM上,然后使用AutoHotKey加上某种PowerShell脚本进行编译。Macro在Macro的乐趣之上...

这个冒险之旅向我强调了VBA开发有多么困难。我真的是第一个在不同版本的excel之间出现问题的人吗?要求能够在不同版本下进行编译是否合理?

MS 可能会喜欢它,但是对我来说,几乎就像这种语言在支持遗留代码上并没有长期计划。由于它与诸如此类的核心开发挑战相关,它只是继续存在而没有任何重大的官方未来迭代或考虑。

c# powershell vba ms-office

11
推荐指数
2
解决办法
469
查看次数

如何以编程方式添加/删除引用?

我的应用程序是为VB.NET中的扫描MS Access数据库构建的.

当Access应用程序分发给最终用户时,它们可能具有不同版本的COM组件.是否可以通过编程方式添加/删除引用以解决由于版本不同而导致的损坏引用?

请分享我的代码或链接以供参考.

vb.net ms-access

8
推荐指数
1
解决办法
3万
查看次数

在Excel中后期绑定VBIDE.VBE

是否可以在Excel中后期绑定VBIDE.VBE对象?例如:

Dim VBAEditor As VBIDE.VBE
Run Code Online (Sandbox Code Playgroud)

而是变成类似于此的东西(后期绑定):

Dim VBAEditor As Object: set VBAEditor = CreateObject ("VBIDE.VBE")
Run Code Online (Sandbox Code Playgroud)

我的目标是避免必须手动选中"Microsoft Visual Basic for Applications Extensibility 5.3"参考的复选框.

使用下面的反馈,我能够以编程方式动态添加"Microsoft Visual Basic for Applications Extensibility 5.3"参考.解决方案如下:

Sub mainFunction()

    Call AddLib("VBIDE", "{0002E157-0000-0000-C000-000000000046}", 5, 3)

    ' Bunch of working code goes here

End Sub

'******************************************************************************
'AddLib: Adds a library reference to this script programmatically, so that
'        libraries do not need to be added manually.
'******************************************************************************
Private Function AddLib(libName As String, guid As String, major As Long, minor …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-2007 excel-vba

7
推荐指数
1
解决办法
3910
查看次数

我需要从Excel编写正确的"参考"MS Outlook

我想运行一些代码Excel,与之对话Outlook.在我的机器上,我可以从Tools->ReferencesVBE中选择正确的参考.

但我希望我的代码也可以在他们的机器上为其他用户运行,他们都有不同版本的Outlook和Excel,

有没有一种整洁的方法我可以让代码选择正确的MS Outlook引用,或告诉我是否没有安装Outlook等?

谢谢

excel vba excel-vba outlook-vba

3
推荐指数
1
解决办法
8640
查看次数

使用VBA代码(宏)连接引用(工具>引用)

我想以编程方式使用VBA代码将一些引用连接到我的VBA项目,即不使用工具>引用手动设置引用.这可能吗?例如Microsoft Office 12.0对象库.

vba reference connect

2
推荐指数
1
解决办法
3万
查看次数