Domanda

Modifica: la creazione di un nuovo modulo nello stesso progetto VSMacros ha risolto il problema.


La seguente macro funziona solo se apro Macro IDE da Visual Studio ed eseguo la macro da lì.

Sarebbe molto più utile se potessi semplicemente fare clic con il pulsante destro del mouse sulla macro da Esplora macro dalla mia istanza di Visual Studio.

Devo fare qualcosa di ovviamente sbagliato, ma non ho mai lavorato con macro VS prima. MessageBox non viene visualizzato in entrambi i casi.

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
È stato utile?

Soluzione

Da questo articolo su MSDN Penso di aver trovato un'altra possibile risposta. Il suggerimento principale di quella discussione era:

Nel menu Strumenti, Opzioni, sezione Sicurezza componenti aggiuntivi / Macro, seleziona la casella di controllo " Consenti l'esecuzione di macro "

Altri suggerimenti

La finestra di messaggio nell'editor macro è:

MsgBox("Your Text Here") = Resultxx

Buona fortuna.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top