5

現在の私の仕事の一部は、MicrosoftOfficeドキュメントにいくつかの動的な機能を組み込むことです。これを行うことがわかった唯一の手段は、VBAを使用することです。つまり、Officeドキュメントに組み込まれているVBAエディターです。

VBAエディタはひどいです。現代の開発環境がサポートする必要のある100万の異なる機能が欠けています。しかし、最悪の部分は、私がハードコアのVim愛好家であり、VBAエディターがメモ帳よりもほとんど優れていないことです。

だから:Vimを効果的に使用してVBAプログラミングを行う方法はありますか?試してみたいときに、別のウィンドウからVBAエディターにコードをコピーして貼り付ける必要がありますか?

4

2 に答える 2

1

私はVBAエディターを使用したことがありませんが、MSVisualStudioで行ったことは次のとおりです。(MSVSのエディターにはいくつかの優れた機能がありますが、それでもほとんどの編集にはvimが好きです。)

MSVSでソースファイルを開くか作成します。次に、ファイルへのフルパスを取得し(タブを右クリックして[フルパスをコピー]を選択)、vimで同じファイルを別のウィンドウで開きます。

私はalt-tabを使ってvimとMSVSの間を行き来しています。vimに変更を加えるときは、変更:wを書き込んでから、Altキーを押しながらMSVSに戻ります。MSVSエディターは、ファイルがディスク上で変更されたことを認識し、更新されたバージョンの読み取りを提案します。

または、MSVSでファイルを変更する場合は、ファイルを書き込み([ファイル]> [保存...])、Altキーを押しながらvimに移動し、を使用:e!して更新されたファイルをvimバッファーに読み込みます。

両方のエディターが同じディスクファイルで動作しているため、コードをコピーして貼り付ける必要はありません。ファイルをディスクに書き込まずにvimとMSVSの両方で変更を加えないように非常に注意する必要があります

それは醜いです、そしてそれは皆のためではありません、しかしそれは私のために働きます。多分それはあなたのために働くでしょう。

私はCygwinを使用しているので、実際にはもう少し複雑です。vimを含むCygwinプログラムは、Windowsスタイルのパスを認識しません。私がすることができます:

vi $(cygpath 'WINDOWS_PATH')

WINDOWS_PATHMSVSから取得したフルパスからどこに貼り付けられますか。シェルが文字を解釈しないようにするには、一重引用符が必要\です。Windowsネイティブvimを使用している場合、この手順は必要ありません。

于 2012-12-02T23:55:24.810 に答える
0

それは興味深い意見です。私は約15年前にVIを簡単に使用しましたが、それに基づいて、VBAエディターはVI(またはVIM?)よりもその目的にはるかに適していると主張します。VBAエディターに欠けている特定の機能で、その目的(VBAの編集)に効果的に使用できないものはありますか?VBAは何年にもわたって拡張されていませんが、誰もが使いやすいと感じているため、VBAを削除することはできません。

必要に応じて、COMオブジェクトを介してワードドキュメントを操作するコードを好みの言語で記述できます(サポートされている場合)。次に、Word文書内の単純なスタブから外部のコードを呼び出すことができます。Word文書では、セキュリティ上の制約を回避する必要があります。

たとえば、VBScript、VBA、Powershell、.Netで、ワードドキュメントを操作するコードを記述できます。これは、VBAの小さな部分(標準のWordツールバーのボタンなどに添付されている可能性があります)から呼び出すことができます。

于 2012-12-03T01:25:35.703 に答える