La macro de Visual Studio 2008 solo funciona desde el IDE de macro, no desde el Explorador de macros

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

Pregunta

Editar: La creación de un nuevo módulo en el mismo proyecto VSMacros solucionó el problema.


La siguiente macro solo funciona si abro el IDE de macro de Visual Studio y ejecuto la macro desde allí.

Sería mucho más útil si pudiera hacer clic con el botón derecho en la macro desde el Explorador de macros desde mi instancia de Visual Studio.

Obviamente, estoy haciendo algo mal, pero nunca he trabajado con macros VS antes. El cuadro de mensaje no aparece en ninguno de los casos.

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
¿Fue útil?

Solución

De esto artículo sobre MSDN Creo que encontré la otra respuesta posible. La sugerencia principal de ese hilo fue:

En la sección de seguridad Herramientas, menú Opciones, Complementos / Macros, marque la casilla de verificación " Permitir que las macros se ejecuten "

Otros consejos

El cuadro de mensaje en el editor de macros es:

MsgBox("Your Text Here") = Resultxx

Buena suerte.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top