草庐IT

Excel-VBA

全部标签

string - 无法将字符串从 vba 传递到 Windows dll

我有64位Windows10和MSOffice64位。我正在尝试让PowerPoint的VBA在自写的64位WindowsDLL中加载和执行函数。问题是我无法将字符串从VBA传递到WindowsDLL。各种网站上有很多讨论,但我还没有找到一个有效的。我尝试了两种方法但没有成功。如果我使用调用DLL的C++应用程序,我没有问题。方法一:动态链接库:extern"C"{__declspec(dllexport)longjaadd(longa,longb,LPCWSTRstrg){MessageBoxW(NULL,strg,L"DLL",MB_OK);returna+b;}}在VBA中:Pr

windows - matlab xlsread 导致 Excel 崩溃 - 如何阻止它?

使用Matlab的xlsread函数读取excel文件(在COM服务器模式下)经常会导致windows显示'Excelstoppedworking'信息。xlsread函数从电子表格返回正确的数据,matlab继续正常运行,但这些崩溃消息很烦人,最终会导致我错过实际问题,因为我现在只需单击它们即可。有没有好的解决办法? 最佳答案 提问者发表了他自己找到的答案作为评论:IthinkthisishappeningbecausetheExcelfileswerefromanearlierversionofExcel,andExcelwas

r - XLConnect 在 MacBookPro 中输出到 Excel 的速度很慢。为什么?

Windows会立即执行此代码,但在我的Mac上却需要很长时间,有时甚至超过10分钟,才能写入两个数据表,每个表大约2000行。有人可以提出解决方案吗?我使用了XLConnectR库。谢谢。#8.Writeresultstofilepath 最佳答案 看来我刚刚破解了它。我删除了上一次运行的输出文件,它工作得很好。问题似乎出在loadWorkbook函数中的选项“create=TRUE”。也许它没有按预期工作,覆盖具有相同名称的现有文件。 关于r-XLConnect在MacBookPro

c++ - VBA 64 位 Excel 不将指针传递给 DLL 函数 (C++)

我有一个在Excel64位上运行的VBA程序调用一些DLL函数(C++)。问题是(显然)它不能将指针传递给C++程序。该程序适用于Excel32位。操作系统是Windows8。对于Windows7,32位和64位版本的Excel都运行良好。C++:doubletest(long*v,longi){if(v==NULL)return-88;elsereturn*((long*)v);}VBA:PrivateDeclarePtrSafeFunctionhamid_testLib"...\CVode.dll"(ByValvAsLongPtr,ByValiAsLong)AsDoubleDimx

windows - 使用 powershell 写入 excel 时防止覆盖弹出窗口

我有一堆csv文件,我正在将数据写入现有excel文件的特定工作表中。我有以下代码,它在循环CSV文件并将数据写入现有工作表时有效$CSVs="rpt.test1",“rpt.test2”foreach($CSV中的$csv){$csv_name=$csvecho"n---$sav_name---n"foreach($sourcein$Sources){$src=$source$inputCSV="C:\Users\xxxx\Desktop\$src.$csv_name.csv"$Path="C:\Users\xxxx\Desktop\$csv_name.xlsx"###Createa

c# - Windows 窗体 + Excel 工作表

我构建了一个从Excel工作表中检索信息的Windows应用程序。我已经在安装了MicrosoftOffice软件包的计算机上进行了测试并让它正常工作。我现在遇到了一个小问题,我将把这个程序部署到多个工作站,但它们都安装了OpenOffice。我的问题是,这些工作站是否需要安装MicrosoftOffice或无论如何它都能正常工作?谢谢大家 最佳答案 如果您引用的是MSOffice对象库,那么他们需要安装它。编辑:您可能可以在您的机器上安装OpenOffice,为该对象库编写一个类似的调用,并让它根据安装的程序进行选择。

vba - 以连续形式控制 ms Access 滚动条

我正在以连续的形式实现拖放模拟。基本上它的工作方式是,旁边有一个人列表,用户可以将一个人从列表拖到一个字段,(这是一个座位列表,有Seat1,Seat2,seat3等字段......,每一排座位都是一条新记录)。对于基本的拖放功能,我正在使用此链接DragAndDrop中的说明,而且效果很好。现在这是我的问题,要知道用户在哪条记录上移动鼠标,我需要计算鼠标的位置除以详细信息部分,这样当表单没有向下滚动时它运行良好,但是当表单向下滚动时,我需要首先知道表单向下滚动了多少,这只能通过WindowsAPI来完成。所以我发现www.lebans.com/conformscurcontrol.h

c# - 解析Excel的路径

其实我想问以下问题:Foranexecutablethatliesinadirectorydefinedin%PATH%,howcanIfindoutinwhichofthesedirectoryitisfound?因为我需要使用Process.Run(...)从C#运行Excel,并且只需指示“Excel”就可以正常工作:Windows似乎知道在哪里可以找到它。但是,我也需要提供适当的工作目录。但与此同时我发现MicrosoftOffice甚至不在%PATH%中,Windows显然以另一种方式解决了它。那么我如何使用或模仿Windows中的此功能来获取包含excel的目录?更新:除了

windows - VBA 获取当前机器上的可用语言列表

我有一个多语言Access应用程序,需要Access机器上安装的语言/键盘布局。我有一些接受各种语言输入的字段。我希望能够在输入和退出这些字段时更改事件语言/键盘布局。我确定有某种类型的WindowsAPI可用于此,但我无法打开任何东西。如果有任何代码示例、链接或任何可以让我指明正确方向的内容,我会很高兴。 最佳答案 您可以使用KeyboardInputFunctions更改事件键盘布局.您应该查看的功能是:LoadKeyboardLayoutActivateKeyboardLayoutUnloadKeyboardLayoutGet

c# - 保存到 excel 文件导致 c# windows 中的错误

代码如下:try{if(File.Exists("c:\\Reports\\"+fileName)){File.Delete("c:\\Reports\\"+fileName);}_book.SaveAs("c:\\Reports\\"+fileName,Excel.XlFileFormat.xlWorkbookNormal,null,null,false,false,Excel.XlSaveAsAccessMode.xlShared,false,false,null,null,null);}catch(Exceptionee){throwee;}关于保存为excel格式。我有以下错误