Visual Studio 2008マクロは、マクロエクスプローラーではなく、マクロIDEからのみ機能します。

StackOverflow https://stackoverflow.com/questions/1202475

質問

編集:同じVSMacrosプロジェクトで新しいモジュールを作成すると、問題が修正されました。


次のマクロは、Visual StudioからマクロIDEを開き、そこからマクロを実行した場合にのみ機能します。

Visual Studioインスタンスのマクロエクスプローラーからマクロを右クリックするだけで、さらに便利になります。

明らかに間違ったことをしているに違いありませんが、VSマクロを使用したことがありません。どちらの場合もMessageBoxは表示されません。

Option Strict Off
Option Explicit Off
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics
Imports System.Security.Principal
Imports System.Windows.Forms

Public Module AttachToSdtProcess
    Sub AttachToSdtProcess()
        Try
            'If MessageBox.Show("Attach to SDT.exe", "Caption", _
            '            MessageBoxButtons.OKCancel) = DialogResult.Cancel Then
            'Return
            'End If

            Dim dbg2 As EnvDTE80.Debugger2 = DTE.Debugger
            Dim trans As EnvDTE80.Transport = dbg2.Transports.Item("Default")
            Dim compName As String = WindowsIdentity.GetCurrent().Name
            compName = compName.Substring(0, compName.IndexOf("\"))
            Dim proc2 As EnvDTE80.Process2 = _
                    dbg2.GetProcesses(trans, compName).Item("TheExecutable.exe")
            If proc2 Is Nothing Then
                MessageBox.Show("Could not find TheExecutable.exe")
            End If
            proc2.Attach2(dbgeng)
        Catch ex As System.Exception
            MsgBox(ex.Message)
        End Try
    End Sub
End Module
役に立ちましたか?

解決

thisから MSDNの記事別の考えられる答えを見つけたと思います。そのスレッドの主な提案は次のとおりでした:

[ツール]、[オプション]メニューの[アドイン/マクロのセキュリティ]セクションで、[マクロの実行を許可する]チェックボックスをオンにします

他のヒント

マクロエディターのメッセージボックスは次のとおりです。

MsgBox("Your Text Here") = Resultxx

幸運。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top