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

投稿時間:2003/07/17(Thu) 16:21
投稿者名:うぉる
Eメール:
URL :
タイトル:
xltファイルの操作について
はじめまして。
このHP、便利で参考にしています。ありがとうございます。

今回、VB6からExcel2000のテンプレートファイル(xlt)を操作しようとしているのですが、
不明なエラーが最後に出てきていまして、なにかご存知でしたら教えていただけないでしょうか。

Excel2000に最初からついている発注書テンプレートにVB6からデータを書き込み、
xlsファイルとして保存しようとしています。

'Microsoft Excel 9.0 Object Libraryへ参照設定しています。
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

Private Sub Command1_Click()
    
    Set xlApp = New Excel.Application
    Set xlBook = xlApp.Workbooks.Open(App.Path & "\発注書.xlt")
    Set xlSheet = xlBook.Worksheets("発注書")
    
    xlApp.Visible = True
    
    xlSheet.Range("data15").Value = "商品名"
    xlSheet.SaveAs ("c:\test.xls")
    
    xlApp.Quit
    Set xlApp = Nothing
    
    MsgBox "終了"
End Sub

ここで、xlApp.Quitを実行している場所で
 実行時エラー '5'
 プロシージャの呼び出し、または引数が不正です
と出てきてしまいます。
エラー画面のデバックボタンは灰色で押せなくなっていますが、xlApp.Quitを
コメントアウトすればエラーは出ていませんので、この行であると判断しています。

なぜエラーが出るのか検討がつきません。
何かご存知でしたら教えていただけないでしょうか。
よろしくお願いいたします。

投稿時間:2003/07/17(Thu) 22:26
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: xltファイルの操作について
>     xlApp.Quit
>     Set xlApp = Nothing
>    
>     MsgBox "終了"
> End Sub

下記のように変更してみて下さい。

    xlBook.Close
    xlApp.Quit
    Set xlSheet = Nothing
    Set xlBook = Nothing
    Set xlApp = Nothing
    
    MsgBox "終了"
End Sub

投稿時間:2003/07/17(Thu) 22:47
投稿者名:うぉる
Eメール:
URL :
タイトル:
解決
>xlBook.Close
が特にキーポイントだったんですね。

VBからExcel操作は最近勉強し出したので、上記がそれほど重要とは思っていませんでした。
勉強してもっと知識深めたいと思います。
ありがとうございました。