更新 3:
これは、vb6 スクリプトを保存し、単語を閉じ、単語を開始し、通常のテンプレートと同じようにテンプレートを実行した場合に発生します。つまり、strTemplate は Normal.doc になります。次に、vsto を介して保存されていない元のテンプレートに戻るとすぐに、変数 strTemplate に Letter.doc が含まれていることに戻ります...
更新 2:
私の起動スクリプトには、次のような行があります。
strTemplate = ActiveDocument.AttachedTemplate
Letter.dot という名前の元のテンプレートでは、strTemplate = Letter.dot です。
しかし、何らかの理由で、元の Letter.dot テンプレートに基づいた新しい vsto テンプレートでは、上の同じ行が Normal.dot になり、新しいテンプレートがまだ Letter.dot という名前であるにもかかわらず、問題が発生しています。
手動でコーディングしようとしました
strAttTemplate = "Letter.dot"
スクリプトは次の段階に進みますが、別のことについて不平を言い始めます。
私の質問は、元のテンプレートには strTemplate = Letter.dot がありますが、vsto を介してテンプレートを実行した後、なぜこれが strTemplate = Normal.dot に変わるのでしょうか?
更新 1:
テンプレートの両方のバージョン、つまり元の非 vsto テンプレートと新しい vsto テンプレートのデバッグを実行した後、元のテンプレートにはドキュメント プロパティがなく、vsto テンプレートには 2 つのドキュメント プロパティがあることがわかりました。しかし、それは問題ではないようです。
この問題は、vsto テンプレートに normal.dot が添付されているのに対し、元の非 vsto テンプレートには normal.dot が添付されていないことに関係しているようです。
新しいテンプレートから添付された normal.dot を削除することはできますか?
元の質問:
Visual Studio 2008 を使用して Word 2003 テンプレート プロジェクトを作成しています。バックグラウンドで vb6 マクロ スクリプトを実行している [既存のテンプレートを使用] オプションを選択します。何らかの理由で、Visual Studio プロジェクトを保存すると、vb6 スクリプトが機能しなくなります。
古い vb6 スクリプトは、テンプレートを Word で開くとすぐに実行されますが、vs2008 で追加の機能を追加せずにテンプレートを使用し、プロジェクトを保存してプロジェクトをビルドすると、Word でテンプレートを開こうとすると、古いスタートアップ スクリプトが実行されます。動作しません。
なぜこうなった?