投稿者 threecourse  (社会人) 投稿日時 2010/5/18 01:06:47
葉月さん、魔界の仮面弁士さん、どうもありがとうございます。
目的は、コードを整形し表示して確認しやすくすることですので、ILはそれには敷居が高いかな、と思います。

頂いたリンクの中で、
.NETにはソースコードを文字列で渡してコンパイル、実行する機能があります。
というのは少し興味深かったです。

ISについては、この辺りを少し見たので、ご参考まで。
http://www.atelier-blue.com/program/il/index.htm
http://www.atelier-blue.com/link/il.htm



また、別に少し調べていると、以下でマクロを用いたコードの取得を行っていました。
https://www.microsoft.com/japan/msdn/msdnmag/issues/05/07/XMLComments/default.aspx#S12

2008 Express Editionではマクロを使えないのですが、
EnvDTEを用いて何かできないかと思い、以下を参考に、下記のコードを試してみたのですが、
http://msdn.microsoft.com/ja-jp/library/yf86a8ts%28v=VS.100%29.aspx
http://msdn.microsoft.com/ja-jp/library/68shb4dw%28v=VS.100%29.aspx
COMExceptionはハンドルされませんでした。
クラス文字列が無効です (HRESULT からの例外: 0x800401F3 (CO_E_CLASSSTRING))
というエラーが出てしまいます。
引数の文字列が間違っているのか、それとも2008 Express Editionでは無理なのでしょうか。

Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90

 Sub Main()
        Dim dte2 As DTE
        dte2 = System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE")
 End Sub