テンプレート内のテキストを置換してレポートを作成するスプレッドシートを更新する任務を負っています。以前は、ワークシートは外部/別のファイルを参照していました。私の仕事は、埋め込まれたドキュメントで機能させることです。
現在、埋め込みドキュメント テンプレート内に挿入するすべての入力用のテキスト フォーム フィールドがあります。現状では、ユーザーはドキュメント テンプレートを好きなように編集できますが、誤ってテキスト フォーム フィールドを消去すると (ここでも vba マクロによってテキストが置き換えられます)、マクロが破損し、スプレッドシートが役に立たなくなります。
私の質問:
ドキュメントの残りの部分を編集できるように、テキスト フォーム フィールドをロックまたは保護する方法はありますか? 私は基本的に、「テキストフォームフィールドのみ」の保護の逆を持ちたいと思っています。
あるいは、このプロジェクトにアプローチするより良い方法はありますか? スプレッドシートをそのままにしておくことを考えていますが、何かが壊れた場合にテンプレートを元の状態に戻す「リセット」ボタンを含めます。この方法を実行した場合、外部ファイルが存在する必要はありません。これまでのところ、これを行う試みは成功していません。
私の一般的な方法論/アルゴリズムは次のようになります。
- 参照ドキュメントを開く
- ブックマークを介してすべてのテキスト フォーム フィールドをプレーン テキストに置き換え、後でブックマークを再割り当てするようにします (マクロを複数回実行した場合にブックマークが失われないようにするため)。
- 入力が挿入された .doc として埋め込みドキュメントを保存します。
- ブックマークされたすべての入力をテキスト フォーム フィールドに置き換えて、テンプレートを元の状態に戻します
どんな情報でも非常に高く評価されます。私はゆっくりと時間がなくなり、行き詰まりを感じています。
どうもありがとう!
-スージ