マクロからドキュメント形式で保存する(Microsoft Word)
Anthonyは、複数のレポートをテキストファイル(つまり、filename.txt)でWordに定期的にインポートします。次に、マクロを使用して、このインポートされた情報をフォーマットします。書式設定マクロが完了した後、Anthonyは各レポートに手動で「名前を付けて保存」を使用してレポートをWord文書として保存します。彼は、データを保存する最後のステップを自動化するために、マクロにどのコマンドを追加する必要があるのか疑問に思っています。 Anthonyは、filename.docxのように、元のテキストファイルと同じルート名を使用してファイルをWord形式に変更するだけで、マクロにファイルを保存させたいと考えています。
実際にファイルを保存する手順は比較的簡単です。ドキュメントをWord形式で保存する次のコードスニペットについて考えてみます。
ActiveDocument.SaveAs FileName:=sDocName, _ FileFormat:=wdFormatDocument
ファイルの名前はsDocName変数に格納され、FileFormatプロパティの設定は、ドキュメントをWord形式で保存することを示しています。既存のマクロでは、あとは必要なファイル名でsDocNameを設定するだけです。
元のテキストファイル名を変数sOrigNameに保存したとすると、次のコードを使用して拡張子を.docに変更し、ファイルを保存できます。
sDocName = Left(sOrigName, Len(sOrigName) - 4) sDocName = sDocName & ".docx" ActiveDocument.SaveAs FileName:=sDocName, _ FileFormat:=wdFormatDocument
このコードは、sOrigNameの最後の4文字にファイル名拡張子(ピリオドと3文字)が含まれていることを前提としています。これらは削除され、「。docx」拡張子が追加されます。元のファイルのファイル名拡張子の長さがわからない場合は、必要に応じて、Split関数を使用してファイルを分解できます。
sNameParts = Split(sOrigName, ".") sDocName = sNameParts(0) & ".docx" ActiveDocument.SaveAs FileName:=sDocName, _ FileFormat:=wdFormatDocument
このマクロを機能させるには、sNamePartsを文字列配列として宣言していることを確認してください。
注:
このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。
(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(404)は、Microsoft Word 2007、2010、2013、および2016に適用されます。Wordの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。
linkマクロからドキュメント形式で保存。