VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2003/04/24(Thu) 17:12
投稿者Nobby
URL
タイトルRe^2: VBで新しい文書を開く

> VBで作成したプログラムですからなければ動きません。ランタイムは入っていますか?

ランタイムについては良く分かりませんでした。Websiteを見てVBを持たないPCがVBで作ったソフトを展
開するには必須のものと知りました(確信は100%ではありませんが勉強になりました)。早速ランタイム
をダウンロードしましたが、どれもこれも別途instmsia.exeもダウンロードして使用しましたがうまくイ
ンストールできず、仕方なくhttp://hp.vector.co.jp/authors/VA002384/runtime5.htm よりVB6run5.exe
を得てインストールしました。結果はダメです(以前と同じエラーが出ます)。
>
> どのように変更されたのでしょうか? 開発環境では問題なく動くのでしょうか?
>
以下の通り印刷せず保存するよう改造しましてあります。
開発環境では新しい文書が表示されそれにExcelのデータが貼り付けられ保存されます。
Private Sub Command1_Click()
    'On Error Resume Next    
    Dim wdApp   As Word.Application
    Dim wdDoc   As Word.Document
    Dim xlApp   As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.Worksheet
    Dim i       As Integer
    Dim danraku As Integer
    Dim InitialDocPropPrompt As Boolean

    Set xlApp = New Excel.Application
    Set xlBook = xlApp.Workbooks.Open(App.Path & "\Sample.xls")
    Set xlSheet = xlBook.Worksheets(1)
    
    xlApp.DisplayAlerts = False
    
    'エクセルの指定範囲をコピー
    xlSheet.Range("A1:F13").Copy
    
    DoEvents
    xlApp.Quit
    
    Set xlSheet = Nothing
    Set xlBook = Nothing
    Set xlApp = Nothing

    'Wordを操作
    Set wdApp = New Word.Application
    '新しい文書を開く
    Set wdDoc = wdApp.Documents.Add
  
    'Wordを表示
    wdApp.Visible = True
    
    '文書中の段落数を取得
    danraku = wdApp.ActiveDocument.Paragraphs.Count
    '段落がなければ段落を設定
    If danraku < 4 Then
        For i = 1 To 4 - danraku
            wdApp.Selection.TypeParagraph
        Next i
    End If

    '選択範囲を文書の 4 行目に移動
    wdApp.Selection.GoTo What:=wdGoToLine, Which:=wdGoToAbsolute, Count:=4

    '貼り付け
    wdApp.Selection.Paste

    'Word の保存
    wdApp.Application.Options.SavePropertiesPrompt = False  '保存時のプロパティ・プロンプト非
表示
    wdDoc.SaveAs (App.Path & "\Test.doc")
      
    'Document properties prompt(Word) の設定を初期値に戻す
    If InitialDocPropPrompt = True Then
        wdApp.Application.Options.SavePropertiesPrompt = True
    End If
    
    'オブジェクトを解放
    Set wdDoc = Nothing
    Set wdApp = Nothing
End Sub

ちなみに、参照設定は VBA, VB runtime objects & procedures, VB objects & procedures, O
LE Automation, MS Word8.0 object Library, MS Excel8.0 Object Library.

パッケージの際「含まれるファイル」は excel8.olb, MSWORD8.OLB, Project1.exe, Sample.xls, SETUP
.EXE, SETUP1.EXE, ST6UNST.EXE, VB6ランタイムおよびOLEオートメーション, VB6JP.DLL, VB6STKIT.DLL
です。 ウィザードでセットアップ先は変更せず、共有ファイルも選択せず。

> これは、開発環境でしょうか? Wordのバージョンは
> 実行環境 の OS Excelのバージョン Word のバージョン ランタイムは

VB有り、無しPCとも
OSはWindows98SE 4.10.2222A
WordはWord97 SR-2
ExcelはExcel97 SR-2(但し、VB有りの方は "new parse mode"と記載されている)
VBはVB6.0(SP5) Professional Edition,  Version 8988 VBA Retail 6.0.8964 Forms3:2.01
ランタイムは前述のVB6(SP5) と思います。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -