• 締切済み

エクセル2000からワード文書を開くマクロの記述

エクセルのデータベースからマクロでワードの差込印刷をしたいのですが、エクセル中で特定のワード文書を開く記述はどのようにすればいいのでしょうか。至急教えてください!

みんなの回答

  • TTak
  • ベストアンサー率52% (206/389)
回答No.1

Shell関数の例です。 C:\Program Files\Microsoft Office\Office\にワード実行ファイルがあって、C:\My Documents\にある「ご案内 .doc」というファイルを開く場合・・・。 Sub test() p = """C:\Program Files\Microsoft Office\Office\WINWORD.EXE""" f = """C:\My Documents\ご案内.doc""" a = Shell(p & " " & f, 1) End Sub excel2000,word2000で動作確認

関連するQ&A

  • エクセルのマクロを使ってワードを開きたい。

    エクセルのファイルをデータベースとした、ワードの差込文書があります。 まずエクセルのファイルのみが開いた状態で、エクセルのマクロを使って、差込印刷するワードの文書を開きたいのです。 ワードへの参照設定は行いました。 変数宣言などを書いて(参考書を真似て)、Set WDoc = Wd.Documents.Open("パス.doc")で、 ワードファイルは開くには開くのですが、エクセルのデータベースとは接続されていない状態で開いてしまいます。 ワードのファイルをエクスプローラーやショートカットで開く場合は、 「データベースからのデータが文書に挿入されます。続行しますか?」と聞いてくれますが、 マクロで開くと聞いてはくれず、接続されていないワードが開きます。 希望する動作としては、エクスプローラーやショートカットから開いたときのように、「続行しますか?」と聞いてきても構いませんし、 出来れば自動的に接続し、データを挿入されると万々歳です。 アプリケーションをまたぐマクロを作るのは初めてなので、分からないことだらけです。 どなたかよろしくお願い致します。

  • エクセルから、ワードを印刷する【マクロ】について

    タイトルの件、下記のとおり質問いたします。 【前提】 ●エクセルに、Sheet1、Sheet2がある ●ワードの文書1がある ●上記2つのファイルは同じフォルダにある。 ●エクセルのSheet1の情報は、ワード文書へリンクされている。  例:エクセルのSheet1のA1セルに、「あいうえお」と入力すると、ワード文書1の任意の部分に  「あいうえお」と反映される「ワードを開かなくても」 【質問】 エクセルにて、下記の印刷できるマクロがほしいです。 ●エクセル、Sheet1、Sheet2、ワード文書1を印刷できるマクロを、エクセル側にほしい。 ●エクセルは開くが、ワードは閉じたまま、印刷したい。 ●印刷するときに、ワードにて、「文書は変更されています。保存しますか?」というメッセージが  出ないようにして、印刷をしたい。 ご存知の方、いらっしゃいましたら、宜しくお願いします。

  • エクセルからワードへの貼付について

    こんばんわ。過去の質問も探してみたんですが、見あたらなくて質問します。 エクセル2002で作成した文書をそのままコピー&ペーストでワード2002に貼り付けたら表の枠組みがあるんですが、それがどうしてもはみ出してしまいます。 データを差込印刷したいために、エクセルで作成した文書をワードに作り替えたいんですが、結局罫線をひとつひとつ直したりしてこれじゃ1からワードで作った方が早いのでは?というくらい時間がかかりました。 もっと簡単でいい方法があるのでしょうか? 因みにエクセルで差込印刷をしようとネットで検索したら、マクロを使うとあったので諦めました。 どなたか知っていたら教えて下さい。m(_ _)m

  • WORDの文書が開けません

    office2000で作成したWORDの文書をofficeXPで開いてみたいのですが、いくつか開けないものがあり困っています。 エクセルで作ったものもワードで作ったものも開けるようです。 開けないものの共通点は、「差込印刷の機能を使っているワードの文書」です。なんどやっても開けません。どうしたらいいでしょう?教えてください。

  • エクセル・ワード 教えてください

    エクセルで作成したデータをワードの文書にて差し込み印刷したい んです。 エクセル側にて23.60と入力・表示されているデータが、 ワード側で差込印刷を実行すると23.6000000001と表示されてしまいます。23.60(少数点2位まで)と表示したいんですが、 どうしたらいいですか???

  • エクセルからワードの文書を開いて、その後開いた文書を”閲覧レイアウト”で表示したい

    エクセルのマクロの超初心者です。 今、こんな事をしたくていろいろ調べながら遣っていますが、上手くいきません。どなたか方法を教えて下さい。 ド素人ですので出来るだけ簡単な方法がありがたいです。 1.エクセルシート上の”釦”を押すと指定したワードの文書を開く。 2.開いたワード文書は”閲覧レイアウト”に自動的に変更して表示。 今、エクセルから、ワードの文書は開けるようになりましたが、 次のワード側で表示を自動的に”閲覧レイアウト”に変更出来ません。 ワード側(または、エクセル側)でマクロをどんな風に記述すれば良い のか、ご教授を宜しくお願いします。

  • エクセルマクロでワード文書を強制的に閉じるには

    エクセルマクロでワードへの差し込み印刷を行っています。 時々、ワード様式ファイルを二重起動してしまい、その結果読み取り専用で開くかとのメッセージで出て処理がストップすることがあります。 そこで 差し込み印刷を行う前に、ワード様式ファイルが開いているかどうか確認し、開いていれば一旦ワード様式ファイルを閉じてから、差込印刷を開始するように改良しました。 ところが、今度は、ワード様式ファイルを閉じる段階で 「〇〇.docに対する変更を保存しますか? 保存 保存しない キャンセル」のメッセージが表示され、処理がストップしてしまいます。 メッセージが出ない方法について数日、いろいろ試みましたがいまだできません。どなたかご教示のほどよろしくお願いいたします。 ★印の箇所が最後に試みたcordです。 =============================== Option Explicit Dim myxls, mydoc As String '---------------------- Sub 差込印刷() '---------------------- myxls = ThisWorkbook.Path & "\VBA差込元data.xls" mydoc = ThisWorkbook.Path & "\差込先ワード様式.doc" '↓Word差込印刷時の二重起動による休止を避けるためのcode On Error GoTo ErrorHandler '↓差込先ワード様式.docが既に開いていると次行でerror75が発生、ErrorHandlerに飛んで注意を促す。 Name mydoc As mydoc '-------- Word差込 '-------- Exit Sub ErrorHandler: '↓★ここで差込先ワード様式.docを「保存」「保存しない」「キャンセル」の確認ウィンドウが表示されてしまう。★ Let Application.DisplayAlerts = False '★←これを書いても無駄だった★ GetObject(mydoc).Application.Quit Let Application.DisplayAlerts = True '★ Resume End Sub '----------------- Sub Word差込() '----------------- Dim objword, wddoc As Object Set objword = CreateObject("Word.Application") '←Wordオブジェクトを作成 With objword .Visible = True '↓Wordドキュメントオブジェクトを作成→指定ワード文書が読み込まれた。 Set wddoc = .Documents.Open(Filename:=mydoc) End With '---------------------------------- With wddoc.MailMerge '↓フルパスでよろしくね! .MainDocumentType = wdFormLetters .OpenDataSource Name:=myxls, _ Connection:= _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ myxls & ";Mode=Read;Jet OLEDB:Engine Type=35" _ , SQLSTATEMENT:="SELECT * FROM [sheet1$]" '----------------------- Dim rc As Integer rc = MsgBox("人数分のワードのページを作成しますか?" & vbCr & _ "【は い】・・人数分のページを作ります。" & vbCr & _ "【いいえ】・・ページをつくりません。(Word様式原本のみ作成)", vbYesNo + vbQuestion, "確認") If rc = vbYes Then '----------------------- '下記3行により[個々の文書の編集]まで一気に .ViewMailMergeFieldCodes = False .Destination = wdSendToNewDocument .Execute '----------------------- wddoc.Close '←word原本・Wordドキュメントオブジェクトを閉じる。 Set objword = Nothing Set wddoc = Nothing End If '----------------------- End With '---------------------------------- End Sub

  • エクセルのデータからワードの文書への差込印刷について

    エクセルのデータとして1つのセルに「S.34.10.5」という風に生年月日が入っているのをワードの文書に差込印刷したいのですが、まとめてそのまま差し込むのではなく、印刷元の用紙にはもうすでに「 年 月 日生」が印刷されていて、この空欄に生年月日の数字だけを差込たいのですが、可能でしょうか?もし、可能ならばどうすればよいのか教えていただけませんか?

  • wordのマクロを使用してエクセル内のデータをword文書内に表示させる方法。

    wordのマクロを使って、エクセル内にあるデータを指定の場所に表示する方法が知りたいです。たとえば、ある会の会員のデータベースがあったとして、その会員番号をword文書内に入力するとその人の住所などの情報が指定の場所に表示されるといったものをつくりたいのですが・・・ いまのところどのようにつくったらいいのかさっぱり見当つきません。ご指導ご鞭撻のほどよろしくお願いします。

  • ワード文書をエクセル文書に変換したい

    ワードの文書をエクセルに変換する事は可能でしょうか? 相手から貰ったデータがワードのB4サイズで作成してあるのですが それをA4サイズに縮小して印刷したいのです。 ワードはほとんど使った事が無く、データを縮小して印刷する方法が分かりません。エクセルは普段から使っているので変換する事ができれば縮小して印刷する事が容易にできます。 ワード文書を縮小印刷するやり方、またはエクセルへの変換方法を教えてください。

専門家に質問してみよう