Tag: dllimport

c#Excel应用程序文件格式问题

我有一个小问题,我无法在StackOverFlow上find任何解决scheme。 情况:我有一个自动打开EXCEL应用程序的应用程序。 当它打开它马上给出一个对话框,说:“xxx的文件格式和扩展名不匹配。该文件可能损坏或不安全…”我想创build一个应用程序,重点放在这个正在运行的EXCEL应用程序并点击“是”,然后重新维护版本2007,所以这个错误信息不会再出现。 这是我迄今为止: var excelApp = (Excel.Application)Marshal.GetActiveObject("Excel.Application"); var c = excelApp.ActiveDialog; 不知道如何使用excelAppvariables在YES上执行单击事件。 我也试过了 foreach (Process proc in Process.GetProcesses()) { if (proc.MainWindowTitle.Contains("Excel")) …. } 2017年11月6日:这是我到目前为止: var oExcelApp = (Excel.Application)Marshal.GetActiveObject("Excel.Application"); Process[] processlist = Process.GetProcessesByName("Excel"); //Shows number of running Excel apps foreach (Process theprocess in processlist) //foreach Excel app running { if (oExcelApp.Workbooks.Count >= 0) //for worbooks […]

从Excel Vba中调用DLL函数调用

我试图从Excel中的VBA DLL调用函数。 我的Excel VBAmacros看起来像这样: Declare PtrSafe Function TestFunction1 Lib "mylib.dll" (ByVal k As Double) As Double Public Function TestDll(k As Double) As Double Debug.Print ("Start") Dim r As Double r = TestFunction1(k) Debug.Print ("Got result of " + r) Debug.Print ("Done") TestDll = r End Function 现在,当我从“= TestDll(3.0)”这样的Excel单元格调用它时,它不起作用。 我在即时窗口中看到“开始”string,但没有别的。 这就像一个错误发生在“TestFunction1”被调用时。 Excel显示“#VALUE!” 在牢房里。 我也可以在debugging器中设置断点,但是当我到达TestFunction1调用时,它就结束了。 没有我能find的错误信息。 我的问题是,我怎么debugging呢? […]

从Excel / VBA调用Scala函数

我知道使用C ++可以创build包含某些函数的DLL文件,然后将其导入到Excel中(例如,通过VBA)。 让我们来看看下面的C ++函数 double __stdcall square_it(double &x) { return x*x; } 我们假设它被合并在square.dll中,以便我们可以使用下面的VBA导入 Declare PtrSafe Function square_it Lib "square.dll" (ByRef x As Double) As Double Private Sub TestSub() MsgBox square_it(4.5) End Sub 所以我的问题是:是否有可能在Scala中编写一个函数,然后以类似的方式从VBA调用它?