如何以编程方式将证书分配给Excelmacros

我已经开发了一些代码,创buildExcelmacros,每次创build新的macros后,我想以编程方式对macros进行数字签名。 你可以让我知道,如果有什么办法,我可以创build新的数字证书,并指定这些macros以编程方式。 谢谢。

用VBA代码做这件事是不可能的。 我认为最好你可以希望做到这一点,通过使Win32 API调用模拟所有需要的步骤来实现这一点。 这将是马虎,但你可以使它的工作。 基本上,您将打开所需的窗口和应用程序利用键盘上的快捷键和select正确的证书。

一些示例代码将是

Public Declare Function SetFocus Lib "user32" (ByVal hwnd As Long) As Long Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" _ (ByVal hWnd1 As Long, ByVal hWnd2 As Long, _ ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Sub SetFocusFormulaBar() SetFocus FindWindowEx(FindWindow("XLMAIN", Application.Caption), _ 0&, "EXCEL<", vbNullString) End Sub 

http://www.cpearson.com/excel/FormulaBarShortcut.htm