2つのExcel.Workbook変数wbAとwbBがあるとします。最初の変数は、Excel.Workbooks.Openのようなものを割り当てたワークブックです。VBAでExcelワークブック変数をコピー
今質問: どのようにwbBをwbBに割り当てることができるので、wbBはwbAのコピーであり、その参照だけではありませんか?
私は単純な試みをしましたが、wbB = wbA
が、wbBをwbAに参照しているようです。
多くの感謝!
2つのExcel.Workbook変数wbAとwbBがあるとします。最初の変数は、Excel.Workbooks.Openのようなものを割り当てたワークブックです。VBAでExcelワークブック変数をコピー
今質問: どのようにwbBをwbBに割り当てることができるので、wbBはwbAのコピーであり、その参照だけではありませんか?
私は単純な試みをしましたが、wbB = wbA
が、wbBをwbAに参照しているようです。
多くの感謝!
wbA
ポイントメモリ内のブックオブジェクトには、実際のワークブックではありません。あなたは
Set wbB = wbA
を行う場合と同じように、あなただけの別のポインタを介したとはいえ、メモリ内にあります同じワークブックへの別のポインタを作成しています。
あなたが実際にワークブックの本当コピーをしたいなら、あなたはちょうどそれをしなければならない - 実際ワークブックをコピーしてwbB
へのインスタンスを設定します。
こんにちは!ええ、私はそう思ったよ。だから私は唯一の方法は、wbA.savecopyasのような何かを行うだろうと思うし、wbBの権利とそれを選択?それとももっと良い解決策を知っていますか? –
正確には、使用する変数の数に関係なく、メモリ内の同じブックへのポインタのデイジーチェーンを効果的に作成しているだけなので、物理的にブックをコピーして代わりに新しいポインタを作成する必要があります。 –
FYIでは 'Set wb2 = Workbooks.Add(" wb1へのパス ")"を使用して、もう一方をテンプレートとして使用して新しいワークブックを作成することができます。 – Rory
クローンすることを意味しますか? – Gustav