[リストへもどる]
一括表示

投稿時間:2004/06/30(Wed) 10:31
投稿者名:naka
Eメール:
URL :
タイトル:
Wordの終了について
はじめまして、nakaと申します。今VBの勉強中です。
そこで教えていただきたいことがあります。お力をお貸しください。
Word(test.doc)をVBから起動/表示させることは、
  dim wdApp   As Word.Application
    dim wdDoc   As Word.Document
    Set wdApp = New Word.Application
    Set wdDoc = wdApp.Documents.Open("c:\test\test.doc")
    wdApp.Visible = True
上記で可能なのですが、
test.docファイルを終了させるときに
    wdApp.Quit
上記ですると、VBで開いた以外のWordファイルも終了してしまうのです。
また、
  wdDoc.Close
とするとtest.docファイルは消えるのですが、Wordの外枠というのでしょうか、
ぬけがらみたいになってしまうのです。
結局やりたいことは、VBで開いていないWordファイルを消さずに、
VBで開いたWordファイル(test.doc)のみ終了させたいのです。
お分かりになる方お力を貸してください。よろしくお願いします。

投稿時間:2004/06/30(Wed) 15:56
投稿者名:花ちゃん
Eメール:
URL :http://www.bcap.co.jp/hanafusa/ypcs/
タイトル:
Re: Wordの終了について
試して見ましたが、私の環境では使用中のファイルはメッセージがでて
閉じられないのですが、環境と実際に使用されているコードを(事象が再現できる)
投稿してみて下さい。


実行前にWordを起動して文書を表示

Private Sub Command1_Click()
    Dim wdApp As New Word.Application
    Dim wdDoc As Word.Document
    Set wdDoc = wdApp.Documents.Open("c:\test.doc")
    wdApp.Visible = True
    
    wdApp.Quit
    Set wdDoc = Nothing
    Set wdApp = Nothing
End Sub

投稿時間:2004/06/30(Wed) 16:55
投稿者名:naka
Eメール:
URL :
タイトル:
Re^2: Wordの終了について
早速のお返事ありがとうございます。
以下のソースはフォームに開くと閉じるというボタンからワードを開いたり、
閉じたりということをやっています。

<ここから>
Public wdApp   As Word.Application
Public wdDoc   As Word.Document

Private Sub Command1_Click()
    Call ExecWord
End Sub

Private Sub Command2_Click()
    Call EndWord
End Sub

Public Function ExecWord()
    
    Set wdApp = New Word.Application
    Set wdDoc = wdApp.Documents.Open("c:\test\test.doc")

    wdApp.Visible = True

End Function

Public Function EndWord()

    wdApp.Quit  '←これにするとすべてが閉じる  (どちらかをコメントでやってください)
    wdDoc.Close   '←これにするとWordの抜け殻が残る(どちらかをコメントでやってください)
    Set wdDoc = Nothing
    Set wdApp = Nothing

End Function

すみません、前回はソースを抜き出して貼りつけてしまって。
わかりにくかったですよね。

投稿時間:2004/06/30(Wed) 17:11
投稿者名:るしぇ
Eメール:
URL :
タイトル:
Re^3: Wordの終了について
ごくごく単純に…

Public Function EndWord()

    'wdApp.Quit    '←これにするとすべてが閉じる  (どちらかをコメントでやってください)
    wdDoc.Close '←これにするとWordの抜け殻が残る(どちらかをコメントでやってください)
    With wdApp
        If .Documents.Count = 0 Then
            .Quit
        End If
    End With
    Set wdDoc = Nothing
    Set wdApp = Nothing

End Function

投稿時間:2004/06/30(Wed) 17:43
投稿者名:花ちゃん
Eメール:
URL :http://www.bcap.co.jp/hanafusa/ypcs/
タイトル:
Re^4: Wordの終了について
No.9498 で投稿したコードと同じだと思うのですが、私の環境では
メッセージが表示され閉じませんが。
WindowsXP VB6.0(SP5) Word2002

多分、バージョンが違うからでしょうか?

投稿時間:2004/06/30(Wed) 18:08
投稿者名:naka
Eメール:
URL :
タイトル:
Re^5: Wordの終了について
>るしぇさん
ありがとうございます!できました!
なるほど〜。Countか〜・・・勉強になりましたm(_ _)m

>花ちゃんさん
え?私のバージョンとほぼ同じですね〜。WindowsXP VB6.0(SP5) Word2003です。
メッセージが出ます?・・・なんででしょう?
私のはでませんが・・・。