システムwiki

20クエリのWordマージを自動化するには、アクセスマクロが必要です

Pat1776 受付中 最終更新日:2022-06-24 18:50

私は、AccessのWord Merge機能を使用して、20個のクエリの結果のエクスポートを自動化しようとしている新しいマクロユーザーです.クエリごとに結果は異なりますが、すべて同じWordメールマージテンプレートにリンクする必要があります.今は、各クエリを手動で選択し、[外部データ]タブから[Wordのマージ]を選択して、同じMSWordを入力する必要があります.リンクするドキュメント毎回.

アクションカタログのWordMergeコマンドを試してみました.しかし、エラーメッセージが表示されます.私はアクセスマクロについてもっと学ぶ過程にありますが、今はスキルがありません.どんな助けでも感謝されるでしょう.

返信リスト(回答:9)

6 #
Scottge

まず、Wordマージドキュメントを複数のデータソースにリンクすることはできません.だからすぐそこにあなたは窮地に立たされています.第二に、アクセスマクロは非常に制限されています.

何かをしようとしてエラーメッセージが表示された場合は、そのメッセージを提供する必要があります.

異なるデータを含む複数のクエリについてレポートしようとしている場合は、Accessレポートを使用したほうがよいでしょう.おそらく、サブレポートを使用することをお勧めします.データとは何か、何を達成しようとしているのかについて、より詳細な説明を提供することをお勧めします.

応答6# ->にスキップ
4 #
Pat1776

返信ありがとうございます、スコット.おそらく私ははっきりしていませんでした.Wordを複数のデータソースにマージしようとはしていません. また、レポート機能はこの問題の解決策ではありません.

応答4# ->にスキップ
3 #
Scottge

そのときの20のクエリについて詳しく説明していただけますか?

フォームレターのように見える非常に複雑なレポートをいくつか作成しました.

応答3# ->にスキップ
1 #
Pat1776

これらのクエリは、農産物品評会の審査員シートを印刷します. 45の分類で450の項目があり、20人の審査員が審査します.各クエリは、各裁判官が責任を負うものを表すという点で独特です. 現在、私は各審査員に対してクエリを実行し、Wordのマージを実行し、結果を印刷用のPDFとして保存しています. マクロを試しましたが、作成するスキルがありませんでした.

とはいえ、あなたの努力に感謝しますが、経過時間の中で私は 今年のフェアについて質問し、関連する他のタスクに移りました.

よろしくお願いいたします.

-パット

応答6# ->にスキップ
9 #
Pat1776

こんにちは、

私のApplicationではレポートが機能しません. 問題がはっきりしなかったのかもしれませんが、ご回答いただきありがとうございます.

-パット

応答9# ->にスキップ
5 #
Scottge

ただし、メールマージは複数のクエリでは機能しません.メールマージでは、単一のデータドキュメントと単一のマージドキュメントのみを使用できます.

Accessレポートで処理できない状況はめったに見つかりません.また、メールマージを使用すると、特にマージで複数のレコードを処理している場合に、一般的に問題が発生することがわかりました.

Kenのサンプルは、VBファイルではなく、VBAコードを処理します.このようなファイルは実行せず、通常、フォーム上のイベントによってコードをトリガーします.

たぶん、出力がどのように見える必要があるか、そしてあなたが扱っているデータを説明すれば、私たちは追加の提案を思い付くことができます.

7 #
KenSher

次の場所にある私の公開データベースフォルダにあるAccWord.zipを確認してください.

https://onedrive.live.com/?cid=44CC60D7FEA42912&id=44CC60D7FEA42912!169

この小さなデモファイルは、メールのマージを含む、いくつかのAccesstoWord自動化操作の使用法を示しています.basWordStuffモジュールのWordMerge関数および他の同様の関数には、マージに使用されるクエリの名前が関数に渡されるstrQuery引数が含まれていることがわかります.したがって、これにより、適切なクエリを選択してマージに使用できるようになります.

デモでは、クエリの結果tableが最初にテキストファイルに出力され、元のクエリ自体ではなく、マージのデータソースとして使用されます.私はいつもこれが効率的な操作方法であることに気づきました.

デモでは、マクロではなく、VBAの関数とプロシージャを使用していることに注意してください.経験豊富なAccess開発者は通常、マクロのはるかに制限された機能よりもVBAを好みます.

応答7# ->にスキップ
8 #
Pat1776

こんにちはケン、

あなたの解決策をありがとう.残念ながら、私はあなたのソリューションを利用するのに十分な洗練されたユーザーではありません.zipファイルをダウンロードしましたが、VBファイルの実行方法がわかりませんでした.

よろしくお願いいたします.

パット

応答8# ->にスキップ
2 #
KenSher

20個のクエリは互いにどのように異なりますか?経験の浅いAccessユーザーは、さまざまな結果を生成できるパラメーターを使用して1つのクエリを作成するだけで、複数のクエリを作成することがよくあります.これがクエリの場合である場合、メールマージのデータソースを変更することを気にする必要はありませんが、実行時にクエリに異なるパラメータ値を提供するだけです.