投稿日 | : 2003/04/28(Mon) 22:21 |
投稿者 | : Nobby |
URL | : |
タイトル | : Re^4: VBで新しい文書を開く |
結論から申し上げると、花ちゃんのアドバイスに従い、エラーの出ない他のプログラムを参考に当プログ
ラムを改造し正常に作動させる事に成功しました。
改造の内容については後述しますが、この過程で以下のことを発見しました。
1)オリジナルのプログラムを友人の PC(Windows98SE, Excel, Word共に2000)にセットアップしたと
ころ問題無く作動した。 ついては私のもう1台の PC(英語Windows98SE 4.10.2222A、Excel, Word共に英
語版2000 9.0.2720)で試したところ、これも正常に動いた。 つまりオリジナル・プログラムは Excel,
Wordが2000の場合はOKで、97ではダメではないかと思われる。 尚、これらの PC には runtime はインス
トールされていない。
2)Vectorのサイトから別の runtime(vb6sp6r4)を入手し、うまくインストールできた(と思う)がオ
リジナル・プログラムのエラーは解消できない。
3)オリジナル・プログラムで最初にエラーが発生する個所は冒頭の Set xlApp = New Excel.Applicat
ion である。 つまり、Office97の環境では、新しい文書を開くことだけが問題ではなくExcelに関しても動かないようだ。
以下のようにオリジナル・プログラムを改造したところ Error freeとなりました。
Private Sub Command1_Click()
'On Error Resume Next
Dim objWord As Object '----改造
Dim objDoc As Object '----改造
Dim objExcel As Object '----改造
Dim objBook As Object '----改造
Dim i As Integer
Dim danraku As Integer
Dim InitialDocPropPrompt As Boolean
Set objExcel = CreateObject("Excel.Application") '----改造
Set objBook = objExcel.Workbooks.Open(App.Path & "\Sample.xls")
objExcel.Application.DisplayAlerts = False
'エクセルの指定範囲をコピー
objBook.Worksheets(1).Range("A1:F13").Copy '----小改造
DoEvents
objExcel.Quit
Set objBook = Nothing
Set objExcel = Nothing
'Wordを操作
Set objWord = CreateObject("Word.Application") '----改造
'新しい文書を開く
Set objDoc = objWord.Documents.Add
'Wordを表示
objWord.Visible = True
'Document properties promptの設定値を取得
If objWord.Application.Options.SavePropertiesPrompt Then
InitialDocPropPrompt = True
Else
InitialDocPropPrompt = False
End If
'----(この間はOriginalと同じなので記載省略)-----------------------
'Word の保存
objWord.Application.Options.SavePropertiesPrompt = False '保存時プロパティ・プロンプト非
表示
objDoc.SaveAs (App.Path & "\Test.doc")
'Document properties prompt(Word) の設定を初期値に戻す
If InitialDocPropPrompt = True Then
objWord.Application.Options.SavePropertiesPrompt = True
End If
Clipboard.Clear '----追加
'オブジェクトを解放
Set objDoc = Nothing
Set objWord = Nothing
End Sub
ちなみに、改造後のプログラムはフォーマットしたWindows98SE, Excel97, Word97, runtime無しの環境
に加え英語版Windows98SE, Excel2000, Word2000, runtime無しの環境でも問題無く作動します。 改造内
容がベストのものか分かりませんが結果に満足しています。
花ちゃん、いろいろアドバイス頂き有難うございます。 大変勉強になりました。 Thanks a lot.