Visual Studio 2008宏仅适用于宏IDE,而不适用于宏资源管理器

时间:2009-07-29 19:22:16

标签: visual-studio visual-studio-2008 macros

编辑:在同一个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

2 个答案:

答案 0 :(得分:1)

来自MSDN上的this文章,我想我找到了另一个可能的答案。该主题的主要建议是:

在“工具”,“选项”菜单,“加载项/宏”安全性部分中,选中“允许宏运行”复选框

答案 1 :(得分:0)

宏编辑器中的消息框是:

MsgBox("Your Text Here") = Resultxx

祝你好运。