3

Excel マクロを作成するコードをいくつか開発しましたが、新しいマクロを作成するたびに、プログラムでマクロにデジタル署名したいと考えています。新しいデジタル証明書を作成し、それらをプログラムでマクロに割り当てる方法があれば教えてください。ありがとう。

4

1 に答える 1

2

VBA コードでこれを行うことはできません。これを実現するために必要なすべての手順をシミュレートするために、Win32 API 呼び出しを行うことが最善の方法だと思います。それはずさんですが、あなたはそれを機能させることができます. 基本的には、キーボードのショートカット キーを使用して必要なウィンドウとアプリケーションを開き、正しい証明書を選択します。

いくつかのサンプルコードは次のようになります

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

于 2010-02-09T17:30:02.447 に答える