|
▼Kein さん:
ご親切な解答を頂き,誠にありがとうございます。
>で、Setステートメントを用いて何をするかと言うと「生成したオブジェクトの
>インスタンスを変数に格納」しているのです。つまり、あとあと扱いやすいように
>変数に入れているだけです。
「変数という名の架空の箱に仮置きする」という理解から,名前付き仮保管と書きましたが,あやふやな表現のままにしておくと,後々,間違った解釈に繋がる可能性もあるため,「格納」と言う表現をしっかり覚えます。
>すると良いと思います。で、コピー元ブックは実際には
>>OpenTextによって開いたブックがデータ元
>なら、当然シートは1枚のみですよね ? テキストファイルをエクセルで開いても
>複数シートになることは絶対ありません。だから新規ブックにコピーするにしても
正確な情報でなくて申し訳ありませんでした。実のところ,
>>Sub MainPgm()
>> :
>> Call test() '下記参照
Ca11 test1a()
Ca11 test1b()
Ca11 test1c()
>> :
>>'この区間に解答いただいたコードを挿入することになります。
>> MyB.Worksheets(i).Range("A1:A50").Value ・・・
>> :
>> Call test3() 'ここで最終計算を実施。オブジェクトはMainPgm()と異なる。
>> :
>>End Sub
>>Sub test() 'オブジェクトはMainPgmとは異なる
>> Call test2() 'これによって"sample.out"が作成されます。
>> Open "sample.out" For Output Shared As #1
>> Workbooks.OpenText Filename:="sample.txt", _
>> : '条件付でファイルを開きます
>>End Sub
とCallが4回続いています。このため,ループ処理が続くことになるのです。
確かに,ご指摘いただいた通り,やたらといろんなブックを開かせようとしています。
"base.xls"から2段階に分けてブック作成するのではなく,直接作成する等の努力が必要なことが分かりました。
もっと勉強して何とか整理してみます。
ありがとうございました。
|
|