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

投稿日: 2007/07/28(Sat) 11:51
投稿者のぞみ
Eメール
URL
タイトルRe^2: エクセルがタスクマネージャに残ってしまいます。

おはようございます。早々の回答ありがとうございます魔界の仮面弁士様(^^)
魔界の仮面弁士様からご回答頂いたことにちょっと興奮気味です(^^)
そんな中、早速なのですが
> > Public DataPath , TargetFilePath , DefaultSheetName As String
> DataPath や TargetFilePath に As がありません。
> この場合、これらは既定のデータ型(初期設定では Variant)になってしまいます。
★すみません。本当は1つ1つ個別に〜As Stringで宣言しています。
(ここの文章を少しでも少なくしようと思い、そ〜書いてしまいました)

【A】
> > 4.      Set xlApp = CreateObject("Excel.Application")
> こっちで呼ぶなら、Excel を参照設定する必要は無いかも。
> 参照設定を外して、変数を As Object に変更した場合はどうなりますか?
★参照設定のチェックを外し(ちなみにVer11.0)、xlApp、xlBook、xlSheet、ObjSheetを
〜As Objectにしてもダメでした。
(xlAppだけAs ObjectにするとxlBook、xlSheet、ObjSheetがそれぞれ『コンパイル エラー:
ユーザ定義型は定義されていません。』と怒られたので、順次As Objectに変更しました。)

【B】
> > 1.  For Each ObjSheet In xlApp.Worksheets
> これだと、どのブックのシートなのかが曖昧になってしまうような。
> xlApp ではなく、xlBook の方を使うべきかと。
★For Each ObjSheet In xlBook.Worksheetsにしてもダメでした。

【C】
> > For〜xlBook.Worksheetsや単にFor〜Worksheetsなどに変えてみてもダメでした。
> For Each 〜 Next を For 〜 Next に変えてみるとどうですか? そうすれば、
> > 2.  SheetNum = SheetNum + 1
> > 3.    IF SheetNum > 6 Then
> シート数は Count プロパティで取れるので、ここでカウントする必要が無くなるかと。
★『For ObjSheet In xlBook.Worksheets』にしてRunしました。
コンパイルエラー・構文エラーとなりました。
エラーとなったので「シート数は Countプロパティで取れる」は確認していません。
尚、ObjSheet.Countでとれるのですか?
ObjSheet.と.打ったとき自動のメソッドやプロパティが出てこないのですが・・・(^^;A

> > 4.       処理
> この部分に問題があるという可能性はありませんか?
★無いと思います。原文の注記2および3にも書きましたが『For Each ObjSheet In xlApp.Worksheets』の
前後に終了処理を記述したとき、前置きの場合正常終了、すぐ後に終了処理を置いた場合
ダメだったので「処理」に行く以前の問題だと判断しています。

【A】と【B】を同時に処理してもダメでしたρ(--、)シクシク


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

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

- VBレスキュー(花ちゃん) - - Web Forum -