2011-10-29 7 views
0

特定の問題を解決する方法についていくつかアドバイスが必要ですが、回避策を構築しようとしていますが、ワードドキュメントテンプレートの大規模なコレクション。アプリケーションは、オンザフライでテンプレートの1つを生成し、ブックマークされた値を入力します。再配布可能なアプリケーションでWordテンプレートをプログラムで入力してください

私はこれについて移動する方法についていくつかのオプションを持っている...

相互運用ライブラリを使用してください:私はかなり簡単に経由すると、すべて掴んで相互運用ライブラリと実際、テンプレート文書に記入ブックマークを作成し、文書を書き込んで保存し直してください。

問題:私は2003〜2010年のバージョンのWordをサポートできる必要があります。バージョンが問題になります... Interop.Wordの間違ったバージョンとリンクすると、古いバージョンのユーザーに互換性の問題が発生する可能性がありますか?私はここでテストすることはあまりないので、わからない。

VBAマクロ:私は実際にこの方法を使ってスプレッドシートを作成した。フィールドをcsvに書き出し、VBAを介してテンプレートから生成された新しいドキュメントを読み込み、ta-da、新しいドキュメントを読み込みます。

問題:エンドユーザーのPCのセキュリティ設定は非常に厳しい可能性があります。 VBAは無効になる可能性があります。

これについては、私が見ていないより良い方法がありますか? Interopのバージョンは、私が思っていたよりも大したことではありませんか?私が使用しているドキュメントの惨事であるOfficeXML以外(私は見た..)、別の良い可能性はありますか?

編集:早く提出されました。

答えて

0

VBAは、通常開いている文書やテンプレートでブロックされます。ただし、Wordの起動ディレクトリのテンプレートは許可されています。私はWord 2007と2010についてはわかりませんが、Word 97〜2003には単語の起動時に読み込まれたテンプレートを含むwrdstartディレクトリがありました。そこにはnormal.dotファイルがあり、スクリプト、マクロツールバーなどを含めることができます。

これは本質的に変更されていないと思いますが、私はもうWordの開発をあまりしませんが、わかりません。

[編集]

はい、それでも存在します。 Word 2010では、[ファイル] - > [オプション] - > [詳細設定] - > [ファイルの場所](ボタン)の設定が表示されます。ディレクトリを指し示す「スタートアップ」設定があります。このフォルダ内のテンプレートは起動時に読み込まれ、そのマクロは実行可能でなければなりません。

[ファイル] - [オプション] - [セキュリティセンター] - [セキュリティセンターの設定](ボタン)を選択します。そこで、許可されたドキュメントと信頼できる場所を指定できます。 wrdstartディレクトリーはそこにありますが、自分で追加することもできます。

+0

私は、この設定をマクロが自動的に黙って禁止されるように設定しても、それがまだ有効かどうかを調べる必要があります。 – trycatch

+0

ええ、特に信託センターが助けることができます。そうでない場合は、Interopが動作する可能性があります。私はバックワードの互換性が良いと思います。また、最新のワードバージョンでCOMオートメーションを使用することもできます。また、古くからのWord API(97年以降正式に廃止予定)でもWord 2010では引き続き動作します。 – GolezTrol

関連する問題