当サイトの記事にはプロモーションが含まれています。

Word VBAで「PasteAndFormat」を使って、Excelの表をそのまま貼り付ける方法

パソコンパソコン・スマホ教室
スポンサーリンク

WordでExcelの表をそのまま貼り付けたいとき、手動でコピー&ペーストしても、書式が崩れたり、余計なスペースが入ったりすることがありますよね。そんなときに便利なのが、Word VBAの「PasteAndFormat」メソッドです。これを使うと、Excelの表をWordに貼り付ける際に、書式をきれいに保ったまま貼り付けることができます。

今回は、初心者の方にもわかりやすく、実際のコード例とともに「PasteAndFormat」の使い方をご紹介します。

スポンサーリンク

「PasteAndFormat」とは?

Wordのイメージ

Wordのイメージ

「PasteAndFormat」は、Word VBAでクリップボードの内容を貼り付ける際に、指定した書式で貼り付けるためのメソッドです。これを使うことで、手動での貼り付け時に起こりがちな書式の崩れを防ぐことができます。

例えば、Excelで作成した表をWordに貼り付けるとき、通常の貼り付けでは書式が崩れることがありますが、「PasteAndFormat」を使うと、指定した書式で正確に貼り付けることができます。

基本的な使い方

以下は、Excelの表をWordに貼り付ける際に「PasteAndFormat」を使用する基本的なコード例です。

Sub ExcelToWord()
Dim wdApp As Object
Dim wdDoc As Object
Dim excelRange As Range

' Excelの範囲を設定
Set excelRange = ThisWorkbook.Sheets("Sheet1").Range("C5")

' Wordを起動
Set wdApp = CreateObject("Word.Application")
wdApp.Visible = True

' 新しい文書を作成
Set wdDoc = wdApp.Documents.Add

' Excelの範囲をコピー
excelRange.Copy

' Wordに貼り付け
wdDoc.Content.PasteAndFormat (16) ' 16はwdFormatOriginalFormattingの定数値

' 後処理
Set excelRange = Nothing
Set wdDoc = Nothing
Set wdApp = Nothing
End Sub

このコードでは、Excelの「Sheet1」のからC5までの範囲をコピーし、新しいWord文書にそのままの書式で貼り付けています。16は、wdFormatOriginalFormattingの定数値で、元の書式をそのまま保持して貼り付けることを意味します。

よく使う書式の定数一覧

「PasteAndFormat」メソッドでは、さまざまな書式を指定することができます。以下は、よく使われる書式の定数とその意味です。

定数 意味
16 元の書式を保持して貼り付ける(wdFormatOriginalFormatting)
2 プレーンテキストとして貼り付ける(wdFormatPlainText)
1 元の書式を無視して貼り付ける(wdFormatNoFormatting)
4 リストの番号を続けて貼り付ける(wdListContinueNumbering)
5 リストの番号を再開して貼り付ける(wdListRestartNumbering)

これらの定数を使い分けることで、貼り付け時の書式を柔軟に調整することができます。

実際の活用例

例えば、Excelで作成した見積書のテンプレートをWordに貼り付けて、顧客ごとに内容を変更する場合、「PasteAndFormat」を使うと、元の書式を崩すことなく、効率的に作業を進めることができます。

また、複数のExcelシートからデータを抽出し、Word文書にまとめる際にも、「PasteAndFormat」を活用することで、統一感のある文書を作成することができます。

よくある質問や疑問

Q1: 「PasteAndFormat」を使う際に注意すべき点はありますか?

はい、注意点としては、貼り付ける先のWord文書が正しく設定されていることを確認することが挙げられます。また、貼り付ける内容がクリップボードに正しくコピーされていることも確認してください。

Q2: 他の書式を指定するにはどうすればよいですか?

他の書式を指定するには、上記の定数一覧を参考に、適切な定数値を「PasteAndFormat」メソッドに渡してください。例えば、プレーンテキストとして貼り付けたい場合は、2を指定します。

Q3: Excel VBAからWord VBAを操作する方法はありますか?

はい、Excel VBAからWord VBAを操作することができます。具体的には、Excel VBAでWordアプリケーションを起動し、Word文書を操作するためのオブジェクトを取得して、必要な処理を実行します。

まとめ

「PasteAndFormat」を使うことで、Excelの表をWordにそのままの書式で貼り付けることができます。これにより、手動での書式調整の手間を省き、効率的に作業を進めることができます。ぜひ、日々の業務で活用してみてください。

他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

タイトルとURLをコピーしました