ACCESS2000のVBAでWORD文書の印刷をしたいのですが、どのようなコマンドを使ったらいいのかさっぱり分かりません。どなたか教えて下さい!

このQ&Aに関連する最新のQ&A

A 回答 (1件)

こんな感じでどうでしょうか。


Sub Macro()
 Dim obj As Object
 Set obj = CreateObject("Word.Application")
 Shell obj.Path & "\winword.exe"
 'これでobjを使ってWordが操作できるようになります。
 'ちなみにExcelなら同じ理屈でExcel.Application

 obj.Documents.Open FileName:="test.doc"
 obj.ActiveDocument.PrintOut
 'この例ではtest.docを開いて、印刷します。
 '要はWordでの操作をマクロで記録して、それをobjに続けて書きます。

 Set ob = Nothing
 '最後にオブジェクト解放
End Sub
なお、これは要するにAccessからWordを操作するのだから、Wordがインストールされてなければダメです。
    • good
    • 0
この回答へのお礼

なるほど、勉強になりました。 ありがとうございました!

お礼日時:2002/03/28 08:52

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q差し込み印刷が他人のPCでは動かないのですか。

差し込み印刷が他人のPCでは動かないのですか。

フォルダの中にWORD2007とEXCEL2007(住所録)
で作った差し込み印刷があります。
そのフォルダはディスクトップにあります。

自分のパソコンとプリンターで行うと大変思い通りに
差し込み印刷が動くのですが
他人にフォルダごとあげました。

そうしたら差し込み印刷がいくつかのメッセージが出て動きません。

どのようにしたら、人にあげた差し込み印刷のフォルダが
動くようになるのか
教えてください。

よろしくお願いします。

Aベストアンサー

差し込み印刷の参照ファイルの設定がフルパスなんかで記録されているのなら、フォルダの構成なんかが違って対象のファイルが見つからないとか。

> そうしたら差し込み印刷がいくつかのメッセージが出て動きません。

エラーメッセージを読んでも、何が原因なのか、類推できませんか?
せめて、エラーメッセージを提示してくれるとかすれば、原因を類推できるかも知れません。


> 他人にフォルダごとあげました。

自分のPCで、フォルダを別の場所に移動するなどした場合、きちんと動くのでしょうか?

QACCESS VBA コマンドDoCmd.OpenFormの引数

2つの項目で主キーを構成するテーブルを定義しました。
この場合、VBA コマンドを使って登録画面を開く為の
コマンドの引数の指定方法がわかりません。

テーブル名: T運転手割当
1)W業務依頼日 <=主キー
2)W使用車両  <=主キー
3)W運転手番号


DoCmd.OpenFormの書式
■第4引数 WhereCondition/レコード抽出条件(省略可能)
テーブルやクエリと連結しているときのレコード抽出条件を指定します。

1)仮に主キーが1つの時、以下の表記で正常に表示されます。
'フォームを開く
DoCmd.OpenForm "F運転手割当登録", acNormal, , "W業務依頼日 = " & Me![lstWariate]


2)主キーが2つの時、以下の表記ではF運転手割当画面は表示されるのですが、
肝心のデータがセットされずに空白で表示されます。
'フォームを開く
DoCmd.OpenForm "F運転手割当登録", acNormal, , ("W業務依頼日 = " & Me![lstWariate]) & " And " & ("W使用車両 = " & Me![lstWariate])


[lstWariate]とは、データの検索画面で検索結果を表示するリストボックスの名称です。
検索結果から該当データを選択して、個別データの修正画面に移行したいのですが・・・。

Me![lstWariate]の表記が良くないのだと思うのですが、具体的な表記方法が分かりません。
よろしくお願いします。

2つの項目で主キーを構成するテーブルを定義しました。
この場合、VBA コマンドを使って登録画面を開く為の
コマンドの引数の指定方法がわかりません。

テーブル名: T運転手割当
1)W業務依頼日 <=主キー
2)W使用車両  <=主キー
3)W運転手番号


DoCmd.OpenFormの書式
■第4引数 WhereCondition/レコード抽出条件(省略可能)
テーブルやクエリと連結しているときのレコード抽出条件を指定します。

1)仮に主キーが1つの時、以下の表記で正常に表示されます。
'フォームを開く
DoCmd...続きを読む

Aベストアンサー

遅くなりましたが、以下の記述ではどうでしょうか?
(長すぎて、勝手に改行されていますが、一行にして試してください)

DoCmd.OpenForm "F運転手割当登録", acNormal, , "W業務依頼日 = " & CDate(Me![lstWariate].Column(0)) & " And " & "W使用車両 = " & Me![lstWariate].Column(1)

Qword2003の差し込み

word2003にて差し込み設定を行っております。

その中で何件か抽出して別ファイルとして保存しました。
しかし、別ファイルで保存しても差し込み設定は残り、
差し込みを行った個所はフィールドとして残っています。

これを解除し、通常の文章に修正したいのです。

要は差し込みをした文章だと判らなくしたいのですが、
何か良い方法はないでしょうか?

ご教示頂きたくお願い致します。

Aベストアンサー

どのような手順で作成しているのか判らないので、簡単なアドバイス。

フィールドコードで表示されているものを通常の文字列に戻すならば、
[ Ctrl+Shift+F9 ]キーで実行結果へと変換することは可能です。
これでフィールドになっているものを結果だけの表示にできますから、
通常の文書のようにはなります。

一つ一つ選択(カーソルを置くなど)しながらショートカットキーで操作
して変換してみてください。このようなことを望んでいないなら無駄な
回答かもしれませんが。

Qaccessレポートにwordの文書を貼り付ける

accessレポートにwordの文書を貼り付ける
accessは、レポートにword,excelにオフィスリンク機能や差し込み印刷はあるのは、わかっていますがあえて使わずに作業をしたいのです。
利用ソフトはアクセス2007、2003、2000どれも試しました。
accessでレポートを作成する時に、wordやexcelで作成した物をコピーして張り付けるということが可能ですが、wordの文書を貼り付けると通常は80%程度の大きさにしかなりません。
しかしコピーして貼り付けたら、ほぼ同一の大きさになったことがたまに何度かあります。
理由はわからないのですが、やり方が(法則?)わかれば教えてください。

Aベストアンサー

回答します。アクセスのレポートをワードのリッチテキストファイル形式で保存をした後、これにテキストボックスを挿入し、そのなかにワードの文書ファイルを貼り付けることが出来ますが、これではいけないのでしょうか。

QWord文書への差し込み印刷について

Word文書の途中へ「差し込み印刷」する場合、差し込み部分が挿入モードとなるため、文書がずれます。上書きモードで差し込み印刷できないでしょうか?
テキストボックスを使えばできるのですが。
よろしくお願いします。

Aベストアンサー

タブは試されたのでしょうか?
複数行で差し込み対象がいくつもあるのなら、タブだと使いにくいかも
しれませんが、タブも使いようによっては便利ですので。

どうしてもタブを使いたくないのなら、[囲い文字]で使われている方法
を活用してもよいかと思います。[囲い文字]は { EQ \o\ac(○,字) }
のような[ EQ ]フィールドに重ね文字にする\oスイッチを使っています
ので、これを応用して全角スペースと差し込みフィールドを重ねます。

例:( □ は全角スペースを示す)
{ EQ \o\ac(□□□□□□□□,{ MERGEFIELD 名前 })様}

この例だと、8文字分の全角スペース範囲に名前の差し込みフィールド
を重ねることで、様の位置は固定されて8文字以内ならその範囲に名前
をおくことが可能になります。

フィールドの設定方法などはWordのバージョンを記載して別質問される
ことを望みます。補足されても今回の質問とは別のことなので。

QAccess2007のVBAにてSendObjectコマンドを使用して

Access2007のVBAにてSendObjectコマンドを使用してのメール発信について
VBAはネットに検索して使えそうなものを組み合わせる程度の知識です、以前作成したAccess2003とOutlook Expressの組み合わせでAccessのメールアドレスに従い所定の文をOutlook Expressの送信トレイに置き送信するVBAを作成しました。当時は正常に送信処理がて来ていましたが、時代の流れでAccess2007とWindows Live Mailにの組み合わせに三か月前に変更したところエラーになりLive Mailにデータを受け渡せなくなりました。どなたか解決方法をご存じの方、よろしくお願いします。
エラーは(予期せぬエラーが発生しました エラーコード:2046)
windowsのアプリケーションログ、システムログは確認しましたが関連するエラーはありません出した。
今まで試したこと
1.mdbからaccdbに変換しましたがだめでした。

何かライブラリが足りないのでしょうか???

Aベストアンサー

SendObjectは何かと引っかかるものがあるので、
#1でのサイトの最後にあるBASP21を使った方法が
いい場合があります。

以下のサイトでは過去ログでBASP21に関するものがいくつかあります。
http://www.accessclub.jp/bbs3/0228/superbeg72768.html

BASP21のサイトは以下です。
http://www.hi-ho.ne.jp/babaq/basp21.html

Qワード2002での差し込み印刷

 以前、Meで使っていたワード2000では、「差し込み印刷ヘルパー」の手順に沿って、エクセルファイルのデータをワードで作成した文書に差し込んで印刷までできたのですが、XPに換えてワード2002になったら、「差し込み印刷ヘルパー」でなく、もっと複雑な「差し込み印刷ウィザード」に変わっていて、ちんぷんかんぷんです。ヘルプを見てもわかりません。
 2002での差し込み印刷に詳しい方、教えていただけないでしょうか。

Aベストアンサー

こんばんは!

下記サイトに、Word2002の差し込み印刷の方法が説明されていますので、
参考にしてください。

▼差し込み印刷は簡単!(文書編)
http://allabout.co.jp/study/pcbasic/closeup/CU20030524A/

参考URL:http://allabout.co.jp/study/pcbasic/closeup/CU20030524A/

QAccess2000 VBAの学習方法

当方Accessの初心者ですが、最近マクロに限界を感じ始めまして、VBAを使ってみたいと思い始めました。
そこで、経験者の皆様にアドバイスをお願いしたいのですが、プログラミングの経験がほとんどない利用者に適している、
・お勧めの学習方法
・お勧めの書籍
などを教えていただけないでしょうか?
よろしくお願いいたします。

Aベストアンサー

速攻でやりたいことだけを覚えようと思っていると苦労すると思います。
AccessのVBAであれば、超○○や、できる○○等の、超入門者向けを一通りStepByStepでVBAの雰囲気を掴むのが宜しいかと。
雰囲気が分かれば書籍選びも自分にあったものが探せるので、簡単な事からコツコツ勉強してください。

基本が分かればAccessの掲示板やメーリングリスト等を活用していくのが宜しいと思います。
でも、いきなり質問しちゃだめですよ、初心者の質問なら既に過去ログなどから情報を引き出せますから。
それと、なんだか良く分からないのですが、なんとかなりませんか等の相手に情報を上手く伝えられない投稿もNGです。
この二つは場所によっては物凄く嫌われます。

Webドキュメントを上手く利用できれば、開発効率は飛躍的に向上します。

Qケース前面のフロントUSB

FICのSD11というマザーを使っています。
別売りのケースを使っていますが、前面のUSBの差し込みがあるので利用したいのですが、ケースとマザーを接続する方法がわかりません。

 取り扱い説明書を読むと、マザーのジャンパーは左側が+5V、+5V、USB2-、USB3+、GNDで右側が、USB2+、GND、USB3-となっていますが、ケースから出ているコードは、GNDが2本と、+5V・-D・+Dが一緒になっているコードが2セットありますが、これって接続可能でしょうか?
 

Aベストアンサー

BIOSでUSBを無効(Disabled)にしていたら当然認識しませんね。

無闇やたらと挿し換えしてると短絡する可能性があります

テスター持ってません?
http://home.impress.co.jp/magazine/dosvpr/q-a/0307/qa0307_1.htm

えー、と?

>+5V・-D・+Dが一緒になっている

あ、あかんわ。

市販のUSB端子(先っぽがバラバラの物)が必要

http://www.pc-custom.co.jp/cbl8_list.html

すみませんでした。気付けなくて

参考URL:http://www.pc-custom.co.jp/cbl8_list.html

QAccess2000のVBAでコンパイルエラー

Access2000のVBAで初歩的な質問があります。

「tblShi」というテーブルがあります。
フォームにボタン「btn1」を作り、
デザインビューでボタンのプロパティを開いて
イベントのクリック時のところで、
「ビルダの選択」をコードビルダにしました。

そして「Private Sub btn1_Click()」の中に、最初に
  Dim db As Database
という記述をしています。

このフォームを開いてボタンを押すと、なぜか
  コンパイルエラー
  ユーザ定義型は定義されていません
というエラーが表示されてしまいます。

たしかにコードを書いているときに、
  Dim db As
のところまで入れると、小さいウィンドウの中に
たくさん候補が表されますが、
その中に「Database」というのがないです。
「QueryDef」とか「Workspace」とかもありませんでした。
(「Recordset」はありまして、それはコンパイルが通ります)

いろいろな解説を見ても、やはり最初はどれも
「Database」型を宣言しているようなんですが…

何がよくないのでしょうか。
もしわかる方がいらっしゃったら教えてください。

Access2000のVBAで初歩的な質問があります。

「tblShi」というテーブルがあります。
フォームにボタン「btn1」を作り、
デザインビューでボタンのプロパティを開いて
イベントのクリック時のところで、
「ビルダの選択」をコードビルダにしました。

そして「Private Sub btn1_Click()」の中に、最初に
  Dim db As Database
という記述をしています。

このフォームを開いてボタンを押すと、なぜか
  コンパイルエラー
  ユーザ定義型は定義されていません
というエラーが表示されてしまい...続きを読む

Aベストアンサー

御疲れ様です

多分、参照設定がされていないだけだと思われます。
参照設定の方法は、VisualBasicEditorにて、
メニューバー→「ツール」→「参照設定」

参照するものは、「Microsoft DAO Library *.*」
または、「Microsoft ADOX *.*」
のどちらかを参照します。
(確認してないですが...)

使用する目的によってどちらを参照するか決めましょう。
また、宣言するときもきちんと宣言するのも心がけましょう。
[例]Dim DB As DAO.Database

参考になれば...


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング