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

投稿時間:2003/09/09(Tue) 18:01
投稿者名:
URL :
タイトル:
WebBrowser上で開いたExcelの保存
はじめまして。聖と申します。
よろしくお願いします。

環境はWindows2000, VisualBasic6.0です。

WebBrowser上にエクセルのファイルを開き、エクセルにWebBrowser上で変更を加えます。
それをプログラム上から別名保存する、ということをしたいと思っています。

こちらのHPの方も参考にさせていただきつつ、以下のようにしてみました。
Private Sub Form_Load()
    WebBrowser.Navigate "file:///C:\temp\aaa.xls"
End Sub

Private Sub Command1_Click()
    
    Dim oRet As Object
            
    Set oRet = GetObject(, "Excel.Application")

    With oRet
    .DisplayAlerts = False
        With .ActiveWorkbook
            .SaveAs FileName:="C:\temp\bbb.xls"
            .Close
        End With
        .Application.Quit
    End With

    Set oRet = Nothing
End Sub

試しにエクセルを単独で起動させておいて実行してみるとうまく保存できるのですが、
WebBrowser上で起動しているエクセルの場合はどうもうまくいきません。

GetObject(, "Excel.Application")まではいいみたいなのですが、
SaveAsのところで、「オブジェクト変数または、Withブロック変数が設定されていません」
というエラーが出てしまいうまくいきません。

WebBrowser上で開いたエクセルを上記の方法で保存することは可能なのでしょうか?
どなたかご存知の方、ご教授お願いします。

投稿時間:2003/09/09(Tue) 19:28
投稿者名:K.J.K.
Eメール:akiya@koalanet.ne.jp
URL :
タイトル:
Re: WebBrowser上で開いたExcelの保存
Documentプロパティが使えません?

投稿時間:2003/09/10(Wed) 14:41
投稿者名:
URL :
タイトル:
Re^2: WebBrowser上で開いたExcelの保存
K.J.K.さん、お返事ありがとうございます。

勉強不足で本当に申し訳ありませんが、
Documentプロパティを使うというのはどのようにすればいいのでしょうか?

Dim doc As Document
Set doc = WebBrowser.Document

いろいろと調べてみて、上のような感じで使うのかなとは思うのですが、
詳しい使い方がいまいち分かりません。

もう少しDocumentプロパティの使い方のヒントなどを頂ければと思います。
よろしくお願いします。

投稿時間:2003/09/10(Wed) 21:26
投稿者名:K.J.K.
Eメール:akiya@koalanet.ne.jp
URL :
タイトル:
Re: WebBrowser上で開いたExcelの保存
とりあえず、TypeName(WebBrowser1.Document)をしてみれば。
おそらくはWorkbook型のオブジェクトでしょうし。
OLEコントロールのObjectプロパティと似たような使い方が
できるでしょう。

投稿時間:2003/09/11(Thu) 10:11
投稿者名:
URL :
タイトル:
解決しました
K.J.K.さん、ありがとうございました。
解決しました。
望み通りの動きができました。

一応、ソースを載せておきます。
WebBrowser上に開かれているファイルがExcelかWordか判定して、
名前を付けて保存するというものです。

Private Sub Form_Load()
    WebBrowser.Navigate "file:///C:\temp\aaa.xls"
'    WebBrowser.Navigate "file:///C:\temp\bbb.doc"
End Sub

Private Sub Command1_Click()
    Select Case TypeName(WebBrowser.Document)
    Case "Workbook"
        WebBrowser.Document.SaveAs FileName:="C:\temp\SaveFile.xls"
    Case "Document"
        WebBrowser.Document.SaveAs FileName:="C:\temp\SaveFile.doc"
    End Select
End Sub

改めて、K.J.K.さん、本当にありがとうございました。