[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAでWordを開くには?』(tmntaka)
すみません。どうしても解らないので教えて下さい。
Excel2003-VBAで、既存のWordファイルを開きたいのです。
色々なサイトを見たのですが、解りません。
どなたか教えて下さい。
こんな感じでしょうか。 参照設定はいらないです。
With CreateObject("word.application") .Visible = True .documents.Open "D:\MARBIN\test.doc" End With (MARBIN)
更に教えてほしいのですが、開いたドキュメントを印刷したいのです。
普通に印刷ボタンを押せば良いのですが、
開いて印刷して閉じるという作業をマクロで組みたいのです。
すみませんが、教えて下さい。お願い致します。
こんな感じでいけます。 今回は参照設定が必要です。
参照設定:Microsoft Word *** Object ※***はワードのバージョンによる
Sub WDPRT() Dim MyWd As Word.Application Dim MyDoc As Word.Document Const DocName As String = "D:\MARBIN\test.doc"
Set Mywd = CreateObject("Word.Application") Set MyDoc = wdApp.Documents.Open(DocName) MyWd.Options.PrintBackground = False MyDoc.PrintOut MyDoc.Close MyWd.Quit End Sub (MARBIN)
入力して実行したのですが、
『実行時エラー4605:
文書ウィンドウが選択されていないため、
PrintBackgroundメソッドまたはプロパティは使用できません。』と出ます。
ファイル名を別の物にしても同じ結果でした。
ちなみに参照設定の『Microsoft Word 11.0 Object Library』
にはチェックが入っています。(Office2003を使用しています)
Private Sub CommandButton4_Click()
Dim MyWd As Word.Application Dim MyDoc As Word.document Const DocName As String = "C:\Documents and Settings\123\デスクトップ\人事申請書類フォルダ\入社時 社員.doc"
Set MyWd = CreateObject("Word.Application") Set MyDoc = Word.Application.Documents.Open(DocName)
MyWd.Options.PrintBackground = False MyDoc.PrintOut MyDoc.Close MyWd.Quit
End Sub
あまり解っていないので宜しくお願いします。
>MyWd.Options.PrintBackground = False この部分を削除して実行してみてください。 この部分は無くても特に問題ありません。 (MARBIN)
Dim nissi As String Dim wd As Word.Application Dim WDoc As Word.Document res = MsgBox("", vbYesNo) If res = vbYes Then nissi = "C:\Documents and Settings\123\デスクトップ\人事申請書類フォルダ\退社時 社員.doc" Else nissi = "C:\Documents and Settings\user\デスクトップ\人事申請書類フォルダ\入社時 社員.doc" \.doc"
End If Set wd = CreateObject("Word.Application.10") wd.Visible = True Set WDoc = wd.Documents. _ Open(nissi) With WDoc.Tables(1) (4ku8ku) End With wd.Quit Set wd = Nothing Set WDoc = Nothing
End Sub
『実行時エラー'91': オブジェクト変数またはWithブロック変数が設定されていません』と出ました。
そこで、>Set MyDoc = WdApp.Documents.Open(DocName)というところを
>Set MyDoc = Word.Application.Documents.Open(DocName)に変えてしまっていたので、元に戻して実行しました。
しかし、
『実行時エラー'424': オブジェクトが必要です』と出ました。
もう一つ書いて戴いたコード"Sub 転送()"も試しましたが上手くいきません。
何がいけないのか全くわかりません。
何度もすみませんが教えて下さい。
(tmntaka)
Private Sub Workbook_Open()
○○××.Show madal
End Sub
(4ku8ku)
すみません。私が2回目のレスで提示したコードに誤りがありました。 ↓ではいかがでしょう?
Private Sub CommandButton4_Click() Dim MyWd As Word.Application Dim MyDoc As Word.Document Const DocName As String = "C:\Documents and Settings\123\デスクトップ\人事申請書類フォルダ\入社時 社員.doc" Set MyWd = CreateObject("Word.Application") Set MyDoc = MyWd.Documents.Open(DocName) MyWd.Options.PrintBackground = False MyDoc.PrintOut MyDoc.Close MyWd.Quit End Sub (MARBIN)
無事解決しました。
どうしても出来なくて、対象のWordファイルにマクロを記入したのが原因みたいです。
WordのマクロにPrintOutとCloseを入れていたのが邪魔だった様です。(推測ですが・・・)
おかげさまで正常に動く様になりました。
本当に有難う御座いました。
また解らない事があったら、勝手ながら質問させてもらいますので、
見捨てないで教えて下さい。
(tmntaka)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.