過去ログ

                                Page      35
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼タクスについて  QXT 02/9/5(木) 11:05
   ┗Re:タクスについて  こうちゃん 02/9/5(木) 12:44
      ┗Re:タクスについて  QXT 02/9/5(木) 13:08

 ───────────────────────────────────────
 ■題名 : タクスについて
 ■名前 : QXT
 ■日付 : 02/9/5(木) 11:05
 -------------------------------------------------------------------------
   始めまして。
今VB5で、2つのEXCELファイルを操作しています。
内容としては、シート間の、COPY PASTEです。
とりあえず作ってみたのですが、どうしても1つのEXCELAPPオブジェクトでは、
うまく動かなかったので、2つEXCELAPPオブジェクトを使用しています。
でも、どうしても1つだけEXCELがタクスに残ります。
誰か、回避方法を教えてください。

1,Set mobjXLS = CreateObject("EXCEL.APPLICATION")  
2,Set objXLSApp = CreateObject("EXCEL.APPLICATION")
3,Set objWorkBookOut = objXLSApp.Workbooks.Open(BOOK1.XLS)
4,Set objWorkSheetOut = objWorkBookOut.Worksheets(SHEET1)
5,objWorkSheetOut.Range("A1:X1").ClearContents
6,Set objWorkBookIn = mobjXLS.Workbooks.Open(BOOK2.XLS)
7,Set objWorkSheetIn = objWorkBookIn.Worksheets(SHEET1)
8,objWorkSheetIn.Range("A1:X1").Copy
9,objWorkSheetOut.Activate
10,ActiveSheet.Paste Range("A1:X1")
11,Clipboard.Clear  
12,objWorkSheetIn.Parent.Save
13,objWorkSheetIn.Parent.Close
14,ojWorkSheetOut.Parent.Save
15,objWorkSheetOut.Parent.Close
16,Set objWorkBookIn = Nothing
17,Set objWorkBookOut = Nothing
18,mobjXLS.Application.Quit
19,objXLSApp.Application.Quit
20,Set mobjXLS = Nothing
21,Set objXLSApp = Nothing

end function

・・こんな感じで作っています。
現象を調べていくと、どうも
10,ActiveSheet.Paste Range("A1:X1")
このロジックがあると、タスクにexcelが1つだけ残ります。
ないと、タスクはきれいになっています。
どうしてなのか、誰か教えてください。
 ───────────────────────────────────────  ■題名 : Re:タクスについて  ■名前 : こうちゃん <nakajima19@hotmail.com>  ■日付 : 02/9/5(木) 12:44  -------------------------------------------------------------------------
   QXT さん、こんにちは

>始めまして。
>今VB5で、2つのEXCELファイルを操作しています。
>内容としては、シート間の、COPY PASTEです。
>とりあえず作ってみたのですが、どうしても1つのEXCELAPPオブジェクトでは、
>うまく動かなかったので、2つEXCELAPPオブジェクトを使用しています。
>でも、どうしても1つだけEXCELがタクスに残ります。
>誰か、回避方法を教えてください。

>現象を調べていくと、どうも
>10,ActiveSheet.Paste Range("A1:X1")

Rangeにも対象のオブジェクトを指定する必要がありませんか?

>9,objWorkSheetOut.Activate
>10,ActiveSheet.Paste Range("A1:X1")
'objWorkSheetOut.Activate
'ActiveSheet.Paste Range("A1:X1")
objWorkSheetOut.Paste objWorkSheetOut.Range("A1:X1")

#環境がないので、VB5では試験していません。変わりにAccess2000のVBAで試験しました。
 ───────────────────────────────────────  ■題名 : Re:タクスについて  ■名前 : QXT  ■日付 : 02/9/5(木) 13:08  -------------------------------------------------------------------------
   ▼こうちゃん さん:
 
 こうちゃんへ

 御返事有難うございます。
 早速試してみましたところ。。。
 大成功でした!!!!!
 本当に有難うございました。
 感謝です〜(~o~)。素敵ですね(~o~)。

 私的に全然思いもつかないところでした。
 本当に有難うございました!!!!!!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 35