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

投稿時間:2003/01/23(Thu) 19:11
投稿者名:TAKA
Eメール:
URL :
タイトル:
コピー&ペーストについて
はじめまして。今このHPを見ながらVBの勉強をしている初心者です。
逆引きヘルプを参考にしながらですが、
1、VBからエクセル起動
2、セルへデータ貼り付け
3、セルデータをコピー
4、ワード起動
5、ワードにセルデータをペースト
6、エクセル終了
(ワードは終了させない)
を行っています。
1回目は正常に動作するのですがその後ワードを閉じて
2回目に同じ事を行うとペースト処理のところでエラーが
でてします。何が原因なのか全く見当もつかないので
何か知ってらっしゃる方がいらしたら何でも良いので
教えてください。
ソースは・・・・

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
    
    Set wdApp = GetObject(, "Word.Application")
    Err.Number = 0
    Set xlApp = GetObject(, "Excel.Application")
    Err.Number = 0

    'エクセルを起動してシートに出力内容を書き込む
    'エクセル起動
    Set xlApp = New Excel.Application
    Set xlBook = xlApp.Workbooks.Add
    Set xlSheet = xlBook.Worksheets(1)
    xlApp.DisplayAlerts = False

    xlSheet.Cells(2, 1).Value = "見出し1"
    xlSheet.Cells(2, 2).Value = "見出し2"
    xlSheet.Cells(2, 3).Value = "見出し3"
    
    Set wdApp = New Word.Application
    '新しい文書を開く
    Set wdDoc = wdApp.Documents.Add

    'エクセルの指定範囲をコピー
    LineRange_S = "A1:E3"
    xlSheet.Range(LineRange_S).Copy
    'Wordを表示
    wdApp.Visible = True
    
    '貼り付け
    Selection.Paste    'ここでエラーになります

    xlApp.Quit

    Set xlSheet = Nothing
    Set xlBook = Nothing
    Set xlApp = Nothing

    'オブジェクトを解放します。
    Set wdDoc = Nothing
    Set wdApp = Nothing

End Sub

・・・こちらになります。

宜しくお願い致します。

投稿時間:2003/01/24(Fri) 01:01
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: コピー&ペーストについて
>     '貼り付け
>     Selection.Paste    'ここでエラーになります

   wdApp.Selection.Paste   

これで試して見て下さい。
例によって省略形になっていました。<m(__)m>
私のサンプルは他の部分も修正して再UPしました。
  

投稿時間:2003/01/24(Fri) 01:11
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: コピー&ペーストについて
>     Set wdApp = GetObject(, "Word.Application")
>     Err.Number = 0
>     Set xlApp = GetObject(, "Excel.Application")
>     Err.Number = 0

 この部分が気になるのですが? 何かの途中でしょうか?

 テストする場合コメントアウトしておいて下さい。

投稿時間:2003/01/24(Fri) 10:20
投稿者名:TAKA
Eメール:
URL :
タイトル:
Re^2: コピー&ペーストについて
>これで試して見て下さい。
>例によって省略形になっていました。<m(__)m>
>  
>   wdApp.Selection.Paste   
有難うございます。正しく動作しました。
”wdApp.”がない事に全く気づかないのは
まだまだ勉強不足ですね。がんばって勉強します。

>  この部分が気になるのですが? 何かの途中でしょうか?
>
>  テストする場合コメントアウトしておいて下さい。
了解です。
いろんな命令を試していたのがそのまま残っていました。

本当に助かりました。