[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『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.