Tag: winapi

如何获得隐藏的Excel应用程序实例的ProcessID(PID)

我有一个Microsoft.Office.Interop.Excel.Application的实例。 为了确保EXCEL.EXE进程及时死亡,我需要find创buildApplication对象时实例化的ProcessID。 Excel Application有一个窗口时,我find了这样的示例 。 有没有办法做到这一点“隐藏”的实例,即当没有窗口绑定到EXCEL.EXE过程,即当excelApp.Hwnd没有设置?

Win32:Python从Excel中获取所有列名称

如何从Excel工作表中使用COM接口(即Python中的Win32 API)获取所有已定义的名称? 我想获得某种字典,例如下面的例子: cols['Stamm_ISIN'] = 2 所以我可以稍后使用它的ID 2来设置一些值: excel.Cells(row, cols['Stamm_ISIN']).Value = 'x' 我有点卡在API文档https://msdn.microsoft.com/en-us/library/office/ff841280.aspx所以它似乎以某种方式是可能的…此外,我无法find任何结果时googeling 🙁

多处理:使用Win32 API从Python修改Excel单元格

我真的想在这里寻找一个好的解决scheme,也许是我完成的概念或弹性体试图做到这一点是错误的!? 我想让我的代码能够使用我所有的核心。 在代码中,我正在使用Win32 API修改Excel单元格。 我写了一个小的xls-Class,它可以检查所需的文件是否已经打开(或者打开它),并将值设置为单元格。 我剥离的代码如下所示: #!/usr/bin/env python # -*- coding: utf-8 -*- import os import win32com.client as win32 from multiprocessing import Pool from time import sleep class xls: excel = None filename = None wb = None ws = None def __init__(self, file): self.filename = file def getNumOpenWorkbooks(self): return self.excel.Workbooks.Count def openExcelOrActivateWb(self): self.excel = […]

从Excel启动一个WPF应用程序,如何将焦点返回到Excel

我在vba中使用Shell命令来启动一个应用程序。 然后,我使用WIN32 API挂接应用程序,以便可以控制它。 这一切都工作正常,但一个小细节:我想返回焦点到Excel的仪表板,在那里我有button来控制应用程序,启动后,实际上,我需要点击电子表格之前我可以点击任何button。 我已经尝试通过SendMessage使用AppActivate Application.ActiveWindow.Caption和SetForegroundWindow , SetFocus和WM_IME_SETCONTEXT与WM_IME_NOTIFY ,但似乎没有任何工作。 我也尝试了工作表Activate方法以及Range Activate方法,但是在点击button之前,我仍然需要点击工作表。 我会认为这是可能的,因为我从Excel过程中发送消息,我怎样才能激活电子表格?

使用Win32 :: OLE Perl模块将Excel中的一系列单元格保存为HTML

我想使用Perl脚本将一系列单元格作为HTML文件保存在XLS工作表中。 我已经search了解决这个问题的方法。 但是还没有find。 但是有一个类似于这个使用Excel VBA的解决scheme: With ActiveWorkbook.PublishObjects.Add(xlSourceRange, _ "C:\Documents and Settings\Tim\Desktop\Page.htm", _ Selection.Parent.Name, _ Selection.Address(), _ xlHtmlStatic, "divExcelExport", _ "TestTitle") .Publish (True) .AutoRepublish = False End With 所以,我试图将其转换为Perl代码,但它给了我以下错误: H:\ test_code \ data> perl a.pl Win32 :: OLE(0.1702)METHOD / PROPERTYGET中的错误0x800a03ec“添加”H:\ test_code \ data> use strict; use warnings "all"; use Win32::OLE; my $Excel = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application','Quit'); […]

在Excel VBA中将Windows API调用转换为64位

我在32位Excel中使用这个Windows API调用,它工作正常: Declare Function WNetGetConnection Lib "MPR.DLL" _ Alias "WNetGetConnectionA" ( _ ByVal lpszLocalName As String, _ ByVal lpszRemoteName As String, _ lSize As Long) As Long 我被告知,我们的一小部分企业用户很快将会转向64位Excel。 我没有64位Excel的访问权限,我也找不到任何附近的同事。 根据这个文件,如果我正确地阅读它… http://www.cadsharp.com/docs/Win32API_PtrSafe.txt …这是64位Excel函数的正确语法: Declare PtrSafe Function WNetGetConnection Lib "MPR.DLL" _ Alias "WNetGetConnectionA" ( _ ByVal lpszLocalName As String, _ ByVal lpszRemoteName As String, _ lSize As […]

使用SetTimer函数后绝对不能运行任何macros

所以我需要在我的Excel VB项目中使用SetTimer API,但是在执行间隔计时器之后,只要您尝试运行另一个macros,程序就会崩溃。 即使只需单击“开发人员”选项卡中的macrosbutton。 代码: Public Declare Function SetTimer Lib "user32" ( _ ByVal HWnd As Long, _ ByVal nIDEvent As Long, _ ByVal uElapse As Long, _ ByVal lpTimerFunc As Long) As Long Public Declare Function KillTimer Lib "user32" ( _ ByVal HWnd As Long, _ ByVal nIDEvent As Long) As Long Public timId […]

如何创build一个将读取/编辑不同的Excel文件的Windows应用程序?

我的目标是为Windows环境创build一个简单的(一个文件)可执行文件,将打开一个非常简单的forms。 表单将从excel文件中读取数据,并在用户填写表单并提交后 – 应用程序将数据写入不同的excel文件。 这将由共享驱动器中的不同用户使用。 我有C / C ++ / C#/ .Net / Python和其他语言编程经验,但从来没有真正创build一个Windows程序。 任何想法,我应该从哪里开始? (相关教程将不胜感激) 谢谢!

vba dll从kernel32调用writefile会创build一个巨大的文件

我试图追加一个文本文件到另一个使用VBA7在Excel 2010 32位,在Windows 7 64位原型的目的。 一旦这个工作,我将使用相同的方法来从多个文件一起附加wav数据,并修改标题信息,以正确的附加wav数据的大小。 我遇到的问题是当我调用WriteFile (同步)时,需要很长时间才能完成,原因是它正在向文本文件写入4个小时,它应该只写20个字节(大小one.txt )。 出了什么问题或者我该如何debugging? 我在这台机器上使用的工具有限,因为它是由大型组织pipe理的。 我只能访问VBA编程环境。 Powershell和普通的命令行工具都可用。 我已经做了以下研究:读取所有dll调用MSDN文章,设置断点来validation值是正确的,阅读有关Office 2010中的32位与64位兼容性 ,阅读和理解(主要)一个MSDN文章传递信息到DLL程序VB,发现这个关于varptr的伟大的页面,并在VB中调用dll函数,并从一个MSDN C ++的例子中获得代码,在学习。 Private Sub cmdCopy_Click() #If Win64 Then MsgBox ("Win 64") #Else MsgBox ("Not win 64 bit") ' Developing on 32-bit excel 2010, windows 7 64 bit #End If 'Dim dummyPtr As SECURITY_ATTRIBUTES ' not used, just changed Createfile […]

“从Python运行Excel文件”错误

当我尝试从python调用EXCEL本身打开一个excel文件时,我得到错误。 我该如何解决这个问题? 提前致谢。 代码是: from win32com.client import Dispatch xl = Dispatch('Excel.Application') wb = xl.Workbooks.Open(r"data\Modules.xls") 而错误是: pywintypes.com_error:(-2147352567,'Exception occurred。',(0,u'Microsoft Office Excel',u''data \ Modules.xls')找不到。检查文件名的拼写,并validation文件位置是正确的。\ n \ n如果您试图从最近使用的文件列表中打开该文件,请确保文件未被重命名,移动或删除。“,u'C:\ Program Files( x86)\ Microsoft Office \ Office12 \ 1033 \ XLMAIN11.CHM',0,-2146827284),无)