• ベストアンサー

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

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

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

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

Wordにもマクロ記録がありますからそれが参考になるはずです。 それとWordVBAの[ReadingLayout プロパティ]のヘルプを確認してください。 >今、エクセルから、ワードの文書は開けるようになりました... どういうコードか不明ですが、簡易なサンプルで With GetObject("C:\temp\test.doc")   .Application.Visible = True   .ActiveWindow.View.ReadingLayout = True End With

sudare-m
質問者

補足

end-u様 早速のご回答をありがとうございました。 ご教示の通り、ワード側のマクロ記録で作成しました。 このマクロを実行すると”閲覧レイアウト”に変更が出来ます。 が、出来ればこの操作を手動でするのではなく、エクセルから、 ワードの文書を開いたとき自動でやりたいのですが・・・。 このマクロを自動で実行するのは可能でしょうか。 Sub 閲覧レイアウトに変える() Set wrd = CreateObject("Word.Application") Documents("ワードの文書.doc").Activate ActiveWindow.View.ReadingLayout = Not  ActiveWindow.View.ReadingLayout End Sub

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

その他の回答 (1)

  • end-u
  • ベストアンサー率79% (496/625)
回答No.2

ExcelVBAからWordでdocファイルをOpenするところからで良いのですよね? 先に書いたのはExcelVBAだったんですが、追加もしておきます。 "ワードの文書.doc"が、(例えば)"C:\documents"というフォルダに保存されている場合、 Sub test1()   With GetObject("C:\documents\ワードの文書.doc")     .Application.Visible = True     .ActiveWindow.View.ReadingLayout = True   End With End Sub Sub test2()   Dim wrd As Object      Set wrd = CreateObject("Word.Application")   wrd.Visible = True   With wrd.Documents.Open("C:\documents\ワードの文書.doc")     .Windows(1).View.ReadingLayout = True   End With   Set wrd = Nothing End Sub ...な感じでどうでしょうね。 すでにWordが起動中だった場合、test1のGetObjectで開くと既存Wordのプロセスで開きます。 起動していなければ起動して開きます。(関連付けされてれば) test2のCreateObjectで開くと起動の有無に関わらず、Wordを新規プロセスで起動して開きます。 もしtest1がうまくいかなくて、「起動中のWordで開きたい、起動してない場合は起動させたい」場合は Sub test3()   Dim wrd As Object      On Error Resume Next   Set wrd = GetObject(, "Word.Application")   On Error GoTo 0   If wrd Is Nothing Then     Set wrd = CreateObject("Word.Application")   End If   wrd.Visible = True   With wrd.Documents.Open("C:\documents\ワードの文書.doc")     .Windows(1).View.ReadingLayout = True   End With   Set wrd = Nothing End Sub こんな感じでどうでしょうか。 ExcelVBA側からWordを操作したい場合は"Word.Application"をObject型変数に格納して、 その変数内で処理をするようにすれば良いです。 WordVBA特有の文字列定数を使いたい場合は[ツール]-[参照設定]で Microsoft Word XX.X Object Library を参照追加すれば良いです。

sudare-m
質問者

お礼

end-u様 ありがとうございました。 早速test1で試して見ましたところ 思い通りの結果を得る事が出来ました。 test1で充分ですが、test2、test3もやって見て 勉強させていただきます。 ありがとうございました。 超初心者に対してご親切なご指導を感謝します。

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

関連するQ&A

  • WORD: 編集レイアウトと閲覧レイアウト

    WORDの「表示」で、 編集レイアウトを選ぶと丁度6頁で収まる文書が、閲覧レイアウトにすると、6頁+1行になってしまいます。何故、このようなことが起こるのでしょうか? 編集レイアウトと閲覧レイアウトを完全に同じにする方法はないのでしょうか?

  • word2003の閲覧レイアウトで起動する

    「word2003の閲覧レイアウトで起動する」 (ツール→オプション→「全般」タブ) というのがありますが、まったく意味がわかりません。 ヘルプを見ると 「電子メールの添付ファイルとして受け取った Microsoft Word 文書を開くと、自動的に閲覧レイアウト モードに切り替わります。」とありますが、試してみても、印刷レイアウトで起動されてきます。 この「word2003の閲覧レイアウトで起動する」というオプションはどのようなときに使うのでしょうか?オンのときとオフのときの違いを教えてください。 よろしくお願いいたします。

  • ワードの文書の中で、エクセルワークシートが表示されない。

    ワードの文書の中で、エクセルワークシートを挿入して使っていますが、その表が印刷レイアウトで「EMBED Excel.Sheet.8」と表示されて表が出てきません。どうしたら直りますか?

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

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

  • エクセルからワード文書をアウトプット

    エクセル2000で、ある計算シートを作成しています。 この計算結果にもとづき、契約書(8種類)をプリントするのですが、契約書の雛型はワード(A41枚横型)で作られています。 エクセルの方にワード文書を取り込み、エクセルシートに配置した印刷ボタンでVBAで印刷できるものを作りたいのです。(作ったブックは営業マンに配付し、各自のPCでプリントアウトさせます。) これまでこういう場合は、一旦ワード文書をエクセルのシートにテキストで貼り付け、レイアウトを調整し、計算結果を配置して、完全にエクセルのシートとしていましたが、今回は契約書が8種類もあり、ワード文書のイメージをエクセル上で再現するのがなかなかやっかいなので、なにか良い方法はないかと質問しました。 よろしくお願いします。

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

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

  • ワード文書でのハイパーリンク

    office2000を使用しています。 ワード文書にエクセルシートをハイパーリンクで取り込みました。その後、[ハイパーリンクの編集]でリンク先を別のエクセルシートに変更したのですが、ワード文書上の表示が更新されません。 ただし、ワード文書のリンク箇所にマウスを当てると、変更したリンク先が表示されます。(表示だけの問題?) 必要な設定などがありましたらご教授下さい。

  • Word文書のワードアートのテキストをマクロで変更

    お世話になります。 Word文書のワードアートのテキストをExcelマクロで変更する方法を教えてください。 Wordアプリケーションへの参照と、該当Word文書への参照と、変更したいテキストがあります。 試したこと: 1)Word2007で、マクロを記録してからワードアートのテキストを変更してみたが、マクロには何も記録されなかった。 2)該当Word文書のShapes や InlineShapes を参照してMsgboxで表示してみたが、テキストボックスに設定したテキストしか画面に表示されなかった。 何をやっているのか?: 教室のパンフレットを作ろうとしています。同じような書式で、曜日とか時間とか講座名とか費用とか・・だけ違うパンフレットを大量に作るのですが、いちいちデータを変更していると面倒なので、 Excelシートにデータを出力しておいて、Wordで作った雛形のなかの、曜日とか時間とか講座名とか費用とかの部分だけ変換してやればいいじゃないか、と考えたわけです。 そこで、Excelシートのどのシートのどのセルに、曜日とか時間とか講座名とか費用とか・・・が入っているかというデータを用意しまして、そのブック(ブックM)に、こんなマクロを作ったのです。 1.Excelデータ(ブックD)をオープン 2.ワード文書の雛形をオープン 3.ブックMの1行目から順に・・・   3-1.曜日とか時間とか・・という項目名などを取得   3-2.ブックDから該当するデータを取得   3-3.データの先頭や末尾の、不要な部分を適宜切捨て   3-4.ワード文書で置換を実行 こんな感じのマクロです。 ワード文書の雛形には、「開講する講座:#講座名#(#コース名#)」などと記述してありますので、 #講座名#を「陶芸を楽しむ」  #コース名#を「入門」 などと変更してやれば、パンフレットが出来上がるのです。 しかし、ワードアートのテキストを#講座名#にしておいても変更されないし、マクロの記録もできないし・・で困っております。 お答えをいただければ幸いです。

  • iPhone4でのエクセルやワード文書

    お世話になります。 iPhone4では標準でエクセルやワード文書が読めるので非常に重宝してるんですが,フォントやレイアウトがどうしてもズレてしまいます。 オリジナルどおりに表示させる方法をご存知ありませんか?

  • WORD文書をEXCELへ貼り付けたら、一部分しか表示されない。

    WORD文書をEXCELシートに貼り付け(ペースト)しました。 (注:もとのファイルとはリンクしていない埋め込み方式です) しかし、 もともとのWORD文書は、2頁にわたるものなのですが、 EXCELシートへ貼り付けられたものは画面に最初の頁しか映らないのです。 貼り付けたオブジェクトのサイズを縦長に引き伸ばしても横長に広げても 次の頁に書かれた分のところは表示されません。 もちろんオブジェクトをダブルクリックして編集可能状態 (=EXCEL内にWORDが起動したような状態)にした時には 2頁両方表示されるのですが、編集状態ではなく、普通に 見えている方で元WORD文書の2頁分が映るようにするには どうすれば良いでしょう? (環境は WINDOWS98+WORD98+EXCEL97 です)

印刷できない
このQ&Aのポイント
  • トナー交換したのトナー交換のランプが点灯して印刷出来ない
  • パソコンもしくはスマートフォンのOSはWindows10
  • 接続はUSBケーブル、電話回線の種類はひかり回線
回答を見る

専門家に質問してみよう