image

Excelを使用してWordファイルに書き込むには、ExcelVBAを使用してWordアプリケーションにアクセスする必要があります。このチュートリアルでは、Excelを使用して、Wordアプリケーションを開き、ドキュメントを追加し、それにコンテンツを書き込む方法を学習します。

CreateObjectメソッドについて学習しました。この記事では、そのメソッドを使用して、Wordアプリケーションの参照を使用する代わりに、そのオブジェクトを作成します。それでは、チュートリアルを始めましょう。

Excel VBAを使用してWordファイルに書き込むプロセスVBAを使用してWordファイルを書き込むには、もちろん、最初にWordアプリケーションを開く必要があります。次に、ドキュメントを追加します。段落を選択し、それにテキストを書き込みます。これらの各手順は、Excelから簡単に実行できます。 Word文書を操作する必要はありません。

理論をこれ以上進めずに、例から始めましょう。アイアンマンが「歩く前に走らなきゃいけないこともある」と言ったからです。

例1:指定された文字列をExcelからWord文書に書き込む

Sub WriteToWord()

''Using Early Binding

'Dim wordApp As Word.Application

'Dim mydoc As Word.Document

'set  wordApp=new word.Application



'Using late binding to create word application object



'Declaring variables as objects

Dim wordApp As Object

Dim mydoc As Object



'Initializing the object using CreateOBject Function

Set wordApp = CreateObject("Word.Application")



'Making word App Visible

wordApp.Visible = True



'Creating a new document

Set mydoc = wordApp.Documents.Add()



'Getting input from user

myString = Application.InputBox("Write Your Text")



'Writing to word

wordApp.Selection.TypeText Text:=myString

'inserting a new paragraph

wordApp.Selection.TypeParagraph

End Sub

コードの説明:

さて、コメントを使用してコード自体の各ステップを説明しましたが、このサブで使用した行について少し説明しましょう。

したがって、このVBAコードはユーザーからの入力を受け取り、新しいWord文書に書き込みます。

最初の数行はコメントアウトされています。これらの行は遅延バインディングを使用しています。アプリケーションという単語を参照している場合は、コメントタグを削除できます。処理しているコードは遅延バインディングを使用しています。この記事で説明しました。これを参照して、ExcelVBAの遅延バインディングと早期バインディングとは何かを理解できます。

'Declaring variables as objects

Dim wordApp As Object

Dim mydoc As Object

ここでは、Object型の2つの変数を宣言しました。 Object type変数は、任意のタイプのオブジェクトを保持できます。

'Initializing the object using CreateOBject Function

Set wordApp = CreateObject("Word.Application")



'Making word App Visible

wordApp.Visible = True



'Creating a new document

Set mydoc = wordApp.Documents.Add()

上記の最初の行では、CreateObjectメソッドを使用して、Word.AppタイプのオブジェクトでwordApp変数をインテンシエートしています。これにより、Wordアプリケーションが開きます。

2行目では、アプリケーションという単語を表示して、操作できるようにしています。

次の行では、Word.Documents.Add()関数を使用してWordアプリケーションに新しいドキュメントを追加します。これはmydoc変数に格納されます。

'Getting input from user

myString = Application.InputBox("Write Your Text")

ここでは、ApplicationClassのInputBox関数を使用してユーザーから入力を取得しているだけです。そして、入力をmystring変数に格納しています。

'Writing to word

wordApp.Selection.TypeText Text:=myString

'inserting a new paragraph

wordApp.Selection.TypeParagraph

最後に、WordApplication.SelectionクラスのTypeTextメソッドを使用してドキュメントに書き込みます。最後の行は新しい段落に入ります。

そうですね、これが新しいWord文書を作成し、ExcelVBAを使用して書き込む方法です。記事が非常に長くなるので、詳細には触れませんでした。これは、Excelを使用してWord文書に書き込む方法を学ぶためだけのものでした。プロセスの理解に役立つことを願っています。この記事に関して質問がある場合は、以下のコメントセクションから私に連絡することができます。

関連記事:

link:/ applications-word-outlook-in-vba-getting-started-with-excel-vba-userforms [Excel VBAUserForms入門] | * Excelでフォームを作成する方法と使用方法を説明しますVBAツールボックス、ユーザー入力の処理方法、そして最後にユーザー入力の保存方法。これらのトピックについて、1つの例とステップバイステップガイドを使用して説明します。

link:/ general-topics-in-vba-vba-variables-in-excel [ExcelのVBA変数] | * VBAはVisualBasic forApplicationsの略です。

これは、Microsoftのプログラミング言語です。これは、MSExcel、MS-Word、MS-AccessなどのMicrosoft Officeアプリケーションで使用されますが、VBA変数は特定のキーワードです。

link:/ general-topics-in-vba-excel-vba-variable-scope [Excel VBA Variable Scope] | *すべてのプログラミング言語には、定義された変数にアクセスできる場所を定義する変数アクセス指定子があります。 ExcelVBAも例外ではありません。 VBAにもスコープ指定子があります。

link:/ cells-ranges-rows-and-columns-in-vba-what-is-the-difference-between-byref-and-byval-arguments-vba-interview-question [ByRef and ByVal Arguments] |引数がByRef引数として別のサブまたは関数に渡されると、実際の変数の参照が送信されます。変数のコピーに加えられた変更は、元の引数に反映されます。

link:/ files-workbook-and-worksheets-in-vba-delete-sheets-without-confirmation-prompts-using-vba-in-microsoft-excel [MicrosoftExcelのVBAを使用して確認プロンプトなしでシートを削除する] | VBAを使用してシートを削除しているので、何をしているのかがわかります。

この警告を表示せず、いまいましいシートを削除しないようにExcelに指示します。

link:/ files-workbook-and-worksheets-in-vba-add-and-save-new-workbook-using-vba-in-microsoft-excel [Microsoft Excel2016でVBAを使用して新しいブックを追加および保存する] |このコードでは、最初にワークブックオブジェクトへの参照を作成しました。次に、新しいワークブックオブジェクトで初期化しました。このアプローチの利点は、この新しいワークブックの操作を簡単に実行できることです。保存、閉じる、削除などのように `link:/ menus-toolbars-status-bar-in-vba-display-a-message-on-the-statusbar-using-vba-in-microsoft-excel [Display A Message On ExcelVBAステータスバー*] `| Excelのステータスバーはコードモニターとして使用できます。 VBAコードが長く、VBAを使用していくつかのタスクを実行する場合、画面のちらつきが表示されないように、画面の更新を無効にすることがよくあります。

link:/ general-topics-in-vba-turn-off-warning-messages-using-vba-in-microsoft-excel [Microsoft Excel2016でVBAを使用して警告メッセージをオフにする] | *このコードはVBAを無効にするだけではありませんアラートだけでなく、コードの時間効率も向上します。方法を見てみましょう。

人気の記事:

link:/ keyboard-formula-shortcuts-50-excel-shortcuts-to-increase-your-productivity [生産性を高めるための50のExcelショートカット] |あなたの仕事をより速くしてください。これらの50のショートカットにより、Excelでの作業がさらに高速になります。

link:/ forms-and-functions-introduction-of-vlookup-function [ExcelのVLOOKUP関数] |これは、さまざまな範囲やシートから値を検索するために使用される、Excelの最も使用され人気のある関数の1つです。

link:/ Tips-countif-in-microsoft-excel [COUNTIF in Excel 2016] |この驚くべき関数を使用して、条件付きの値をカウントします。特定の値をカウントするためにデータをフィルタリングする必要はありません。

ダッシュボードを準備するには、Countif関数が不可欠です。

link:/ excel-formula-and-function-excel-sumif-function [ExcelでSUMIF関数を使用する方法] |これは、ダッシュボードのもう1つの重要な機能です。これは、特定の条件で値を合計するのに役立ちます。