|
▼ケメ子 さん:
おはようございます。
アップ後、ふと思いついたんですが。
事前に処理するにせよ、一連の処理の最初に処理するにせよ、ご提示したコードは
cファイルを【エクセルとして事前に保存】するコードで、処理コストが大きくなる
わけです。
これを、雛形ブック含め、ブックを開かないで、cフォルダに必要なcブックを
【雛形ブックからのコピー】という方式にしてみました。処理時間は大幅に短縮される
可能性があります(希望的観測?)
で、コピーはFSOでもできますが、処理時間を考慮して、標準コードのみにしてみました。
★難点があります。読み取り専用の雛形をコピーした後、その属性をリセットしている
つもりなんですが、コピー後、開くと、やはり読み取り専用になっています。
なぜなのか、現在の私のレベルではわかっていないので、このあとも追求してみますが
できれば、このあたり、yukiさんはじめ、エキスパートの方々のご助言が欲しいところです。
Dim wkName As Variant '追加
Dim myPool As Collection '追加
’
’
’
'事前処理開始
Set myPool = New Collection
'まずaPathにあるaファイルの名前をcファイル用に加工してmyPoolに取り込む
wkName = Dir(aPath & "\*.xls")
Do While wkName <> ""
myPool.Add cPath & "\" & myPre & wkName
wkName = Dir()
Loop
'雛形ブックをmyPoolに取り込んだcファイル名として【コピー】
For Each wkName In myPool
If Len(Dir(wkName)) > 0 Then Kill wkName
FileCopy cPath & "\" & tplName, wkName
SetAttr wkName, vbNormal '★ここがきいていない!
Next
Set myPool = Nothing
'事前処理終了
|
|