草庐IT

VBA:**对词典

我使用较晚的绑定,因为使用早期绑定会出现错误。代替显示3个ActiveSheet名称,输出就是这样核心价值:从未尝试过。谁能将我指向正确的方向?SubLoopKeys()DimkeyAsVariantDimcountryAsVariantcountry=Array("Kentucky","California","Ohio")dic.Add"Kentucky","Alicia"dic.Add"California","Ken"dic.Add"Ohio","Benjamin"Forsheet=LBound(country)ToUBound(country)ThisWorkbook.Workshe

c++ - 使用在 C++ 中创建的 DLL 从 Excel 和 VBA 调用 C++ 函数

我创建了一个包含名为“koduj”的函数的DLL。通过在Excel工作表单元格内使用它来调用此函数将返回所需的结果。从VBA调用“koduj”返回错误答案。koduj需要两个参数:stringnr_id和integerx1。它计算nr_id的ASCII表示形式的字母之和,并添加x1。计算的总和然后返回。我按照说明找到了here.这是我的.cpp源文件:#include#includeusingnamespacestd;//ConvertBSTRtowstringforconveniencewstringBSTR_to_wstring(BSTRtext){returnwstring(te

计数器问题VBA

在这个柜台上挣扎...我正在浏览多个信息,并尝试计算过期任务的数量,然后将此信息插入统计页面。Subdata_input_overdue()DimrwAsLongDimCounterAsLongDimcolAsLongcol=CountMyCols("Stats")Worksheets("Stats").Cells(2,col+1).Value="Overdue"Counter=0ForEachshtInThisWorkbook.SheetsFori=2ToCountMyRows(sht.Name)c_date=Range("E"&i)dueDate=CDate(c_date)IfdueDat

插入相对函数VBA,引用变量

说我想插入一个相对公式的总和范围。行的值之一由整数确定。DimiAsIntegeri=5rng.FormulaR1C1="=SUM(R[1]C:R[i+5]C)"以上不起作用。有什么办法做到这一点吗?看答案反试试:rng.FormulaR1C1="=SUM(R[1]C:R["&i+5&"]C)"假设这就是您要做的。该公式是一个字符串,因此为了将变量(i)插入字符串中,您需要退出它,并包含变量,然后使用双引号和ampersands重新输入字符串。

windows - VBA 代码无法访问 System32 中的 DLL

我的VBA代码无法访问我在Windows764位和Word201032位上的C:\Windows\System32文件夹中的DLL。PrivateDeclareFunctionmy_funcLib"mydll.dll"(ByValparamAsString)AsLongPublicSubMyFuncTestn=my_func("a")End我将mydll.dll复制到C:\Windows\System32并调用了MyFuncTest,但收到类似“错误53:‘mydll.dll’未找到”的错误消息。但是,我将代码中的声明更改为:PrivateDeclareFunctionmy_funcL

.net - cmd 的 Visual Basic 捕获输出

我希望VisualBasic能够在目录“C:\projectTest\”上运行“make”命令。我试着用这个:DimoutputAsString=String.EmptyUsingProcessAsNewProcessProcess.StartInfo=NewProcessStartInfo("cmd")Process.StartInfo.WorkingDirectory="C:\projectTest\"Process.StartInfo.UseShellExecute=FalseProcess.StartInfo.CreateNoWindow=TrueProcess.StartIn

VBA Excel Call和Run Breaking Backtracking

我正在制作一个带有许多不同潜艇的工作簿,为了避免用户意外激活删除表格代码的子,例如,我尝试将所有Subs私有化。现在,只能通过单击工作表上的按钮来激活我的潜艇,并且一切都按预期工作。当然,我的潜水艇试图在另一个模块中致电一个私人子。为了解决这个问题,我用了Application.Run而不是Call,这起作用了,还允许我从上一本子中调用一个变量的“sextsub”,这给了我一些我需要的灵活性,并且显然无法获得Call.例如。SubFirstSub()*SomethinggoingonApplication.Run"SecondSub",SomeVariableSubEndsubSubSecon

windows - 使用 VBA 在给定目录中运行批处理文件

当我转到我的批处理文件所在的位置并打开它时,该批处理文件可以正常工作。我的批处理文件很简单:cd.\datadir/b/o:n>names.txt如您所见,我在当前目录下移动到子目录“data”并复制所有名称并创建一个名为names.txt的文件。当我说shell"locationoffile"它打开批处理文件,但默认目录是C:\mydocuments,所以我的命令将无法运行,因为它找不到子目录。我希望这是一个动态批处理文件,因此我需要在VBA中编写一些东西来打开其当前目录下的批处理文件或类似的东西。我该怎么做? 最佳答案 以下应该

VBA 如何获取当前用户应用程序数据文件夹的路径?

一般来说,如何使用VBA确定当前用户应用程序数据文件夹的位置?FileSystemObjects特殊文件夹只知道大约3个文件夹Windows文件夹系统文件夹临时文件夹具体来说,我需要一个Word宏来将文件复制到ApplicationData文件夹下的a文件夹中。例如在VB.Net中,我可以使用My.Computer.FileSystem.SpecialDirectories.CurrentUserApplicationData来执行此操作 最佳答案 您可以使用Environ("AppData")获取此路径。Environ将提取任何系

在同一行中制作一些代码会在VBA中更快地使用宏吗?

我已经尝试了此网站上的所有建议,以使我的宏观更快。停止计算禁用屏幕更新禁用状态栏更新告诉Excel忽略事件还有更多。即使在循环中,我也尝试了许多使宏观平滑的方法。我看到了一篇文章,我可以使用Colon将多行代码变成单行。从:DimxasIntegerx=1Ifx=0ThenExitSubEndIf至:DimxasInteger:x=1:Ifx=0ThenExitSub在同一行中制作一些代码会使宏观更快吗?看答案不,在同一行上编写代码不会使代码运行速度更快。由于编码技术效率低下,例如在列中的所有单元格中循环,读取每个单元格,对其进行计算,然后将结果写回循环的每个步骤中的另一个单元格,代码可能会很