2

選択したテキストをプロジェクト内の特定の XML ファイルに配置するマクロを作成したいと考えています。たとえば、私のパスは ~/Pages/Dictionary/en.xml です。aspx.csファイルから選択したテキストをen.xmlファイルに入れたいです。
どこから始めるべきか教えてください。選択したテキストを取得できます。今、ファイルの内容にアクセスしてファイルの最後(またはファイル内の別の場所)にアクセスし、選択したテキストに従ってテキストを挿入する方法がわかりません。

4

1 に答える 1

2

ファイルを開くには、ソリューション エクスプローラーでツリー パスを使用するか、完全なファイル パスを使用します。

DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate()
DTE.ActiveWindow.Object.GetItem _
    ("{solutionname}\{projectname}\Pages\Dictionary\en.xml") _
    .Select(vsUISelectionType.vsUISelectionTypeSelect)
DTE.ActiveWindow.Object.DoDefaultAction()

また

DTE.ItemOperations.OpenFile _
    ("{projectpath}\Pages\Dictionary\en.xml")
DTE.ActiveDocument.Activate()

これが単一のプロジェクトおよび/またはソリューション用であるかどうかについては言及していないため、中括弧内の項目をハードコーディングするだけで十分かどうかはわかりません.


ファイルの末尾にテキストを挿入するには、ドキュメントの末尾を選択して貼り付けるか (たとえば、 を使用した場合Selection.Copy())、編集ポイントを作成して任意のテキストを挿入できます。

DTE.ActiveDocument.Selection.EndOfDocument()
DTE.ActiveDocument.Selection.Paste()

また

Dim editPoint As EnvDTE.EditPoint
selection = DTE.ActiveDocument.Selection()
editPoint = selection.TopPoint.CreateEditPoint()
editPoint.Insert("any text" + vbLf)

ファイルの末尾がテキストを追加する実際の場所であるかどうかはわかりません。StartOfLine()そうでない場合は、LineUp()、 、またはコード エディタを制御するWordRight()その他の手段を使用してドキュメントをナビゲートできます。

于 2011-05-08T20:47:40.627 に答える