• ベストアンサー

エクセルのマクロでユーザーフォムの・・・

保存してあるエクセルファイルAにユーザーフォーム1と標準モジュールが入っています。 エクセルファイルBにユーザーフォーム2が入っています。 ファイルBのユーザーフォーム2をファイルAにコピーいたいのですが、手動ではエクスポト・インポートで出来ますが、マクロでやる方法はありませんか? m(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

マクロでやっても、エクスポートしてインポートする方法になると思います。こんな感じです。 Sub test() Workbooks("ファイルB.xls").VBProject.VBComponents.Item("ユーザフォーム2").Export "C:\ユーザフォーム2.frm" Workbooks("ファイルA.xls").VBProject.VBComponents.Import "C:\ユーザフォーム2.frm" End Sub 確かに動くのは動くのですが、セキュリティをかなりゆるめなければならないです (Office2007だと「VBAプロジェクト オブジェクトモデルへのアクセスを信頼する」というチェックボックスもオンにしないと動きません)。マクロウィルスの対策ということもあるでしょうが、VBAソースをマクロでいじるというアプローチはもうとれなくなりつつあるような気がします。

nakai_dayo
質問者

お礼

ありがとうございました。 早速やってみます。

関連するQ&A

  • EXCELマクロでのThisisWorkbookの削除をしたいです。

    EXCELマクロでのThisisWorkbookの削除をしたいです。 いつもとても助けられています。 今回もいろいろと他の質問内容等を参考にしていますが、 解決出来ません。 お力を貸して下さい。 やりっていることは、毎回CSVファイルを自動で読み込みして、 ワークシート上の各種設定をしてから公開用のEXCELファイルとして、 別のファイルに保管しています。 そして、その公開用ファイルにては複数のメンバーにて、 付いているマクロ(標準モジュール)を使って処理をします。 このために、EXCELのThisisWorkbookにて ファイルを読み込み時の複数のマクロの処理を書いていて、 他に標準モジュールで複数のマクロの処理を書いています。 そして、マクロでさらにやりたいことは、 現在は、そのThisisWorkbookにて最後に処理したシートの内容を 別名にて保存してから、保存したファイルを一度開いて、 ThisisWorkbookのマクロを削除 (メンバーが使う時は最初の読み込み時の処理は不要でエラーとなる) する必要がありますが、 この操作を無くして、自動化することです。 ThisisWorkbookをマクロで削除する例や シートのみコピーをコピーしたあとに 標準モジュールをエクスポート・インポートすればいい?? とか見つけたのですが、 ウィルス対策ソフトでウィルス判定されてしまう等、 うまく行きません。 なんとか他のやり方なので、やる方法はないでしょうか。 現在のEXCELは2000ですが、 以降の上位バージョンでも出来ることが望ましいです。 よろしくお願い致します。 尚、他のやり方としては、 今の1つのファイルでのやり方を、 ThisisWorkbookでの内容のファイルと、 公開用のファイルを最初から用意しておいて、 2つのファイルで処理することも考えましたが、 出来れば2つのファイルの運用になるのでやりたくないのです。 以下は自分がネットで調べた情報です。 http://officetanaka.net/excel/vba/vbe/07.htm#sample01 http://www.seiji-tsubosaki.net/ExcelTech/ExcelProfessionalEngineerTechnic/Contents_08.htm

  • エクセルでこんなマクロ

    マクロの初心者ですが、 エクセルで、 「A」、「B」、「C」、「コピーA」、「コピーB」 というファイル名のエクセル開いていたときに、 「コピーA」、「コピーB」というファイルだけを閉じてくれるような マクロを 「C」のファイル上で作成することは可能でしょうか。 ファイル名はABC・・・以降多数あります。 何卒よろしくお願い致します。

  • エクセルVBAでVBAの修正は出来るのでしょうか?

    エクセルVBAでVBAの修正は出来るのでしょうか? あるエクセルファイルにマクロを組み込んでいます(ユーザーフォームも使用)。 このエクセルファイルを複数個フォルダ内にコピーしています。 このコピーした全てのファイルのマクロの修正をVBAで出来ないかと考えています。 修正箇所はモジュール内のコード修正、モジュールの追加、既存のユーザーフォームにボタン等の追加等です。 エクセルは2003を使用しています。 どなたか教えてください。

  • エクセルのマクロ

    素人なのですみませんが教えてください エクセルのマクロを使用して エクセルを起動して ウィンドウズ内のあるフォルダ内のエクセルファイルをコピーをして違うフォルダに貼り付けをしたいのですが、どのようにマクロを組み込むのか教えてください(マクロの式) (例)エクセル起動後エクセルのマクロにて c\Aフォルダ\aファイル←コピー c\Bフォルダ\aファイル←貼り付け

  • EXCEL VBA マクロでユーザーフォームをコピーする方法

    元のユーザーフォームが含まれたブックがありそれを、コピーし個人用に名前を入れそれに記入させようとしています しかし作ったマクロでは標準モジュールはコピーされユーザーフォームはコピーされません ユーザーフォームをコピーして標準モジュールはコピーしたくないのです 繰り返し処理をする良い方法もお願いします Windows("元.xls").Activate Sheets("報告書").Copy Windows("元.xls").Activate Sheets("名前").Range("C1:D1").Copy Windows("Book1").Activate Range("Q2:R2").Select’名前シートから個人名を入力 ActiveSheet.Paste ActiveWorkbook.SaveAs Filename:="C:\Users\~~~~\" & "○○" & ".xls", ’個人名に変更 FileFormat _ :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _ False, CreateBackup:=False Workbooks("○○.xls").Close SaveChanges:=False

  • エクセルのマクロで別ファイル(エクセル)のマクロを実行させるには?

    エクセルにおいてマクロを組んでいます. 1.実行させたいマクロAが組んであるファイル(Aファイルとします)が多数あります。またマクロAはモジュール内(Module1)に作っております。 2.1のマクロAを別のエクセルファイル(Bファイルとします)のマクロBで実行させたい. 上記のようなことを行いたいのですが可能でしょうか?さらに言えば、マクロBによってマクロAのプロシージャを指定して実行させることは出来るでしょうか? 現在は、マクロBによってマクロAを組んであるAファイルを開き、Aファイルのマクロの中にファイルを開いたときにマクロAを実行させる(イベントドリブン)ようにしています. 直接、マクロBでAファイルのマクロAを動かせるようになればマクロAにイベントドリブンなコードを組む手間がなくなるので、なんとかそのような事が出来ないでしょうか? どうか、詳しい方ご教授ください。 よろしくお願いいたします。。。

  • エクセルで個人用マクロを移すには

    エクセル2002で使用していた個人用マクロを、他のPCにインストールしたばかりのエクセル2003で使えるようにするには、どういう手順をとればいいのでしょうか。 エクセル2002がある方のPCの、 C:\Documents and Settings\User\Application Data \Microsoft\Excel\XLSTART\PERSONAL.XLS を、 エクセル2003があるPCのXLSTARTフォルダにコピーしてみたのですが、エクセルファイルを開いてVBエディタを起動しても、個人用マクロの標準モジュールが表示されないのですが。

  • エクセルマクロユーザーフォームのtxtbox値を標準モジュールに保持

    宜しくお願いします。 ユーザーフォームのtxtbox値を標準モジュールに渡してマクロを実行 るのですが、一度値をセットしたら20~30回変更が無いので標準モジュール のみショートカットで実行したいのですが値を保持してくれません。 何か良い方法は無いのでしょうか。? 'フォーム起動 Sub フォーム() UserForm1.Show End Sub +++++++++++++++++++++++++++ Private Sub CommandButton1_Click() Call モジュール '標準モジュールを呼ぶ Unload UserForm1 ++++++++++++++++++++++++++ モジュール内 Static ufX As Byte ufX = UserForm1.XXX.Text 'ufXの値を保持したい。

  • エクセル マクロ一覧

    開いているブックにあるマクロの一覧を作れないものでしょうか? モジュール、シート、ユーザーフォーム内にあるマクロすべてです。 VBAのチェックシートとして使いたいのですが エクセルバージョンは2003です

  • エクセルのマクロで複数箇所に保存したい

    ネットワーク上のエクセルファイルを更新し、保存する際に、一度に複数箇所に保存できるマクロはありますか? 会社で、AとBの共有ドライブがあるのですが、AとBのドライブはそれぞれアクセス権限が違うため、Aのドライブにアクセスできる人はBにアクセスできません。しかし、Bにアクセスできる人はAにもアクセスできます。 更新しているファイルは便宜上Bのドライブ上にあるのですが、Aしか見られないユーザーも見たい情報です。よって、面倒ですが両方アクセス出来るユーザーがAの指定場所にコピーしています。Aの指定場所とBの正規の保存場所に保存時に一度に保存が出来るマクロはできますか?