我有一个带有"核心"函数和子函数的Addin,我想在不同的Addins或VBA项目中引用和使用它们.由于代码重用和单一更新原则.
例如,一个函数,它根据条件过滤集合成员并返回子集合.代码本身不是问题.
Public Function listNamesContaining(ByVal NamesInput As Names, ByVal ContainsCriteria As String) As Collection
Dim NameMember As Name
Set listNamesContaining = New Collection
For Each NameMember In NamesInput
If InStr(1, NameMember.Name, ContainsCriteria, vbTextCompare) Then
listNamesContaining.Add NameMember
End If
Next
End Function
Run Code Online (Sandbox Code Playgroud)
我不想在单元格插入函数中显示此函数,因为它返回一个集合对象,但我想在VBA代码中的多个VBA项目中重用它.
当前问题的图片,目标函数显示在单元格插入公式中:
我使用Option Private Statement为单个项目方法找到了解决方案SO1,SO2.
然而,这并没有解决问题,因为其他应用或项目限制.
当模块包含选项专用模块时,在模块级别声明的公共部分(例如,变量,对象和用户定义类型)在包含该模块的项目中仍然可用,但它们不可用于其他应用程序或项目.
接下来,我在MRExcel formum上找到了一个问题- 仅隐藏VBA函数.汤姆·施赖纳建议,我可以使用自定义的类并实现内部的功能类.这样,它们将无法通过单元格插入功能获得 …
我想使用ROBOCOPY来备份文件夹.为了解这一点,我创建了一个测试源文件夹,其中包含其他子文件夹和虚拟文件.
F:\RoboCopy\RoboCopy_Files
Run Code Online (Sandbox Code Playgroud)
我能够从命令行和PowerShell(使用Windows 10)ROBOCOPY源文件夹.
ROBOCOPY "RoboCopy_Files" "RoboCopy_Files_Testing" /MIR
Run Code Online (Sandbox Code Playgroud)
它完全符合我的要求.
现在我将命令放入批处理文件中Robocopy.cmd
.
但是,当我将相同的命令放入Robocopy.cmd文件时,在根F:\ RoboCopy文件夹中运行它,我只得到闪烁的cmd窗口,我的命令在越来越多的行上重复.
如何将命令放入CMD文件(例如Robocopy.cmd)以供以后使用/共享/计划?如何在不运行命令的情况下防止命令提示符在无限循环中闪烁?
注意:我觉得这更像是学习如何将cmd脚本放入文件,而不是如何使用ROBOCOPY.
我想复制HTML表的内容.是否可以在不循环表中的单元格的情况下执行此操作?(我试图避免的例子:在评论'循环每个表并以适当的格式下载到Excel.
我的表不是很大,所以循环是一个选项,如果有更好的选择只是徘徊.
我现在拥有的和建议的方法我更喜欢:
'check all opened windows and find the one with PV output
For Each shlWindow In Shell.Windows
If TypeName(shlWindow.document) = "HTMLDocument" And shlWindow.LocationName = "PV power estimate information" Then
Set htmlPopupTables = shlWindow.document.getElementsBytagname("table")
For Each htmlTabl In htmlPopupTables
If htmlTabl.classname = "data_table" Then
' Question :
' htmlTabl.Copy 'or something similar
' then paste into my excel sheet
End If
Next htmlTabl
End If
Next
Run Code Online (Sandbox Code Playgroud)
我对HTML没有太多经验,所以即使是显而易见的,也要毫不犹豫地说明.:) 谢谢.
excel-vba ×2
vba ×2
batch-file ×1
cmd ×1
code-reuse ×1
excel ×1
excel-addins ×1
excel-udf ×1
html ×1
robocopy ×1
windows ×1