• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access VBA)

AccessとWordの連携について教えてください。

このQ&Aのポイント
  • AccessとWordを連携させる方法について教えてください。
  • AccessのVBAで[ツール][参照設定]で[Microsoft Word Object Library]を選択済みですが、具体的な操作方法を教えてください。
  • フォーム上の「cmd実行」ボタンのクリックでWordを起動し、フォームに表示されている[会社名]テキストボックスと[担当者]テキストボックスのデータを特定の場所に出力する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

当方 Office2010 なので参照設定は、Microsoft Word 14.0 Object Library です。 ワードのVBAなんぞは知らんので、ワードのマクロの自動記録で出来たものを Accessにコピペしただけです。 詳しいことはサッパリ分かりませんのでご勘弁を。<(_ _)> Private Sub cmd実行_Click()   Dim oWRD As New Word.Application   oWRD.Visible = True '要らないかも?   With oWRD     .Documents.Add DocumentType:=wdNewBlankDocument '新規     With .Selection       .TypeParagraph '改行?       .TypeText Text:=Me!PcDrive 'Me!会社名に変更を       .HomeKey Unit:=5, Extend:=wdExtend       .ParagraphFormat.Alignment = wdAlignParagraphCenter 'センター合わせ       .EndKey Unit:=wdLine       .TypeParagraph       .TypeParagraph       .HomeKey Unit:=wdLine       .ParagraphFormat.Alignment = wdAlignParagraphLeft       .TypeText Text:=Me!VolumeName 'Me!担当者名 に変更を     End With     .ChangeFileOpenDirectory "D:\" '既定のマイドキュメントなどに保存なら不要     .ActiveDocument.SaveAs2 FileName:="abc.docx", _       FileFormat:=wdFormatXMLDocument, _       LockComments:=False, _       Password:="", _       AddToRecentFiles:=True, _       WritePassword:="", _       ReadOnlyRecommended:=False, _       EmbedTrueTypeFonts:=False, _       SaveNativePictureFormat:=False, _       SaveFormsData:=False, _       SaveAsAOCELetter:=False, _       CompatibilityMode:=14 '多分ワードのバージョン番号   End With   oWRD.Quit savechanges:=False   MsgBox "さて、どうかな?" End Sub

88558855_1979
質問者

お礼

ご回答いただきましてありがとうございました。 教えていただいたおかげでなんとか無事に解決いたしました。 もう少し自分でも勉強してみようと思いました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Access VBA 参照設定とは・・?

    Access初心者です。2003を使用しています。 ライブラリの参照設定(この表現でわかるでしょうか?)で参照するライブラリを増やし、モジュールを作成しました。このモジュールを含むツールは問題なく私のPCでは動いていましたが、ファイルサーバに投入し他のPCで実行させると、「・・・参照する切断された参照が含まれています。」とエラーがでてしまいます。 エラーを一旦閉じ、参照設定を見ると「(非参照)・・・・」にチェックが入っていました。このチェックを外すと問題なく動きます。チェックを外す作業を他の人にやってもらったので、ライブラリ名までわかりませんが、ツール作成時に「Microsoft ActiveX Data Object 2.1 Library」を参照可能にしました。 以下が初心者な質問ですがご教授いただきたい部分です。 ライブラリの参照設定は、インストールされているAccessに設定されるのでしょうか?それとも、作成したファイル毎の設定になるのでしょうか?前述の場合でしたら、ツールを配付した先で設定を変更してもらわねばなりません。後述でしたらモジュールをインポートした際に参照設定を変更しなければなりません。 また、参照設定の変更はVBAを用いて変更可能でしょうか?(フォームボタンから参照のON・OFF) へたくそな文章で伝わり難いとは思いますが、どなたかご教授ねがいます。

  • ACCESSのVBAについて

    ACCESSのVBAを使って、データの集計・分析などをしてEXCELに出力、さらにそのEXCELを少しいじる、←このVBAをVBSで実行 といった事をしていたのですが、 会社の端末が一部Office2003から2010に変わったため、参照設定に不具合が出てきました。 内容は、元々2003で作成されたデータベースを2010で開くとVBAの参照設定が「Microsoft Access 11.0 Object Library」だったものは「Microsoft Access 14.0 Object Library」に変わるのですが、 「Microsoft Excel 11.0 Object Library」は変更されずに参照不可になってしまいます。 以前、別のところで同様の質問をした際に、 →「参照設定」をして、コードを作成したあと、コードに使われている定数を全部調べ上げて、変数宣言のコードを作成し、 参照設定のチェックを外して、宣言のコードを追加する、ということで、参照設定の対策をします。 といった回答を頂いたのですが、いまいち理解できていません。 以下のコードをEXCELの参照設定を外しても動くようにするにはどのようにしたら良いのでしょうか?よろしくお願いします。 Sub TEST() Dim xls As Excel.Application Dim wb As Excel.Workbook DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "TEST", "C:\TEST.xls", True Set xls = CreateObject("Excel.Application") Set wb = xls.Workbooks.Open("C:\TEST.xls") With xls .Sheets("Sheet1").Select .Range("A1").Value = "成功" .Visible = True End With End Sub

  • AccessのVBAの記述について

    たびたびお世話になります AccessのVBAで、フォーム上にあるテキストボックス(CadrDate)のデータを同一フォーム内の別のテキストボックスに貼り付ける操作はできるのでしょうか? 出来るのであれば記述文を教えてください。

  • ACCESSの参照設定について

    Microsoft ActiveX Data Objects 2.1 と Microsoft DAO 3.6 Object Library の違いは何でしょうか? また両者のメリット,デメリットを教えて下さい。 アクセスにて,データを加工したりするツールを作成しようとして簡単なVBAのコードを書いたりしています。

  • アクセスVBAの参照設定

    アクセスVBAからエクセルを使うためにVBAのツールメニュでExcel11.0 Object Libraryを参照設定すると、なぜか「参照不可」になってしまいます。 別のパソコンでは問題ありません。 原因は何でしょうか?どうすれば解決できるのでしょうか? よろしくお願いします。

  • アクセスvbaでクリップボードにコピーの動作を実行

    アクセスvbaでクリップボードにコピーの動作を実行したいです。 エクセルなら、 Sub test() Dim buf As String Dim CB As New DataObject buf = "test" With CB .SetText buf ''変数のデータをDataObjectに格納する .PutInClipboard ''DataObjectのデータをクリップボードに格納する .GetFromClipboard ''クリップボードからDataObjectにデータを取得する Debug.Print .GetText ''DataObjectのデータを変数に取得する End With End Sub これが実行できるのですが、 どうやらアクセスだと Dim CB As New DataObject これがエラーになるようです。 Dim CB As Objectにすると .SetText buf で実行時エラー91になります。 (「オブジェクト変数またはWithブロック変数が設定されていません」) http://officetanaka.net/excel/vba/tips/tips20.htm によると、 「DataObjectオブジェクトはMSFormsのメンバです。使用するには、Microsoft Forms 2.0 Object Libraryを参照設定します。または、ブックにUserFormを挿入すると自動的に参照設定されます。」 なので、アクセスvbaの参照設定で「Microsoft Forms 2.0 Object Library」を探したのですが、 ありませんでした。 当方バージョンは2010です。 アクセスでは不可能と言うことでしょうか? ご教授よろしくお願いします。

  • ACCESSでのVBA標準出力について

    いつもお世話になっております。 皆様の知識をご教授いただければと思います。 ■実現したい内容 テキストボックスにコマンドプロンプトの出力結果を表示させたいと考えております。 テキストボックス1 = shell (cmd /k ”ipconfig.exe”) コマンドボタンを実行すると コマンドプロンプトが起動 ”ipconfig”実行 実行結果をみると、テキストボックスには数字の0が表示されているので 何がしかの結果がかえってきているのですが 何かが足りないとは思うのですが 何かがわかりません。 ””内にリダイレクトを入れると、テキストなどに標準出力を変更するのは できたのですが、ACCESSのフォーム内のテキストボックスに変更するのは 可能なのか否か 可能であれば、EXCELのフォームにも応用が利きそうなので

  • EXCEL2000 VBAでのWORD参照設定

    EXCEL2007では、VBEのメニューから"MICROSOFT WORD *.* OBJECT LIBRARY"の参照設定が出来ますが、EXCEL2000ではWORD参照設定が見当たりません。 EXCEL2000 VBAでのWORD参照設定方法を教えて下さい。 会社では、まだEXCEL2000を使用しているので、よろしくお願いします。

  • ACCESS2007 VBAでのFilterOnについて

    はじめまして。 ACCESS2007 VBAでのFilterOnについて教えてください。 ACCESS2003で、フォーム上でレコードを抽出するのに、FilterOnを使用して行っていました。未連結テキストボックスに入力した文字列をキーにして「抽出」「解除」ボタンで実行してさせていました。連続して「抽出」「解除」を繰り返しても問題ありませんでした。 ところが、ACCESS2007においても実行できるのですが、連続して操作するとうまくいきません。2回目以降テキストボックスに何を入力しても、1回目にテキストボックスに入力した文字列で抽出しまうのです。解決策はあるのでしょうか?

  • エクセルVBAについて

    現在Excel2010を使っています。 以前に使っていたACCESSのデータを移すという話になり、 こちらを頼りに何とかコードまで打ち込みました。 ただ、実行に問題点があるようなので以下の2点について聞きます。 http://okwave.jp/qa/q3333180.html 質問1 このコードは標準モジュールというところに書いてますが、 書く場所はここでいいのでしょうか。 commandbutton1というオブジェクトを作ってもデバッグにすら入ってくれません。 質問2 ツール→参照設定で Microsoft ActiveX Data Object 2.x Library Microsoft Scripting Runtime にチェックを入れておいてくださいとありますが、 2010ではどこに設定があるのでしょう。

オタクの購入方法について
このQ&Aのポイント
  • オタクの人はどのようにグッツを買っているのか気になります。高価なグッツのためにはお金を節約する必要がありますが、最近のオタクはどのように生活しているのでしょうか。
  • 質問者は自分自身がオタクであり、月曜から金曜まで働いているB型作業所で生活しています。母親との約束でローンを組み、2000円ずつ返済しているとのことです。
  • 質問者は将来的に一般就労をして貯金をし、自分の好きなグッツを買いたいと考えています。
回答を見る

専門家に質問してみよう