• ベストアンサー

EXCELで同名のファイルを開く

無理かもしれないのですが、質問します。 *Excelでメニューということで、シート上にボタンを5個つけて、クリックするとそれぞれExcelファイルを開くようにしています。(メニューのファイル名はMainmenu.xls) *そしてそのメニューを終了するときに、そのメニューとメニューから開くExcelファイルたちを同ディレクトリ内にBackupというフォルダを作成してすべてコピーするようにマクロを組んでいます。 ここで質問なのですが、メニューからBackupフォルダ内にコピーしたメニュー(Mainmenu.xls)を開くことはできるでしょうか。やはり、ファイル名が同名なので無理でしょうか。できれば別にExcelを起動させて開ければいいな、と思うのですが。何かテクニックはないでしょうか。。。。 よろしくお願いします。

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

  • ベストアンサー
回答No.3

とりあえずShell("Excel.exe Backupフォルダのパス\Mainmenu.xls")で開けませんか? (Excelが2つも立ち上がってしかも同名のファイルだったら利用者が混乱するのは必至だと思いますが...)

reitty
質問者

お礼

納得のいかない質問だったと思いますが、答えていただきありがとうございました。無事、開くことができました。ちなみに、バックアップではないほうのおおもとのメニューはバックアップが開いたときに閉じるようにしました。たしかに、あまり良い案ではないです。本当にありがとうございました。

その他の回答 (3)

  • Enfant
  • ベストアンサー率17% (3/17)
回答No.4

こんにちは わたしもFlossenEngelさんの 「Excelが2つも立ち上がってしかも同名のファイルだったら利用者が混乱するのは必至だと思いますが」 に賛成です。 Menuのファイル名に「第3期」とか「2002前期」とかを入れて、別のファイル名にするか、ひとつのMenuファイルでBackupのぶんも開けるようにするほうがBetterかと思います。

reitty
質問者

お礼

ふにおちない質問ですみません。ファイル名は訳あって変えられないのです。メニューのシート上には「14年前期」とか書いてはみました。 メニューを1つにするのはいいな、と思いましたので、相談してその方向にしてみようかと思います。 本当にありがとうございました!

  • kentaoru
  • ベストアンサー率56% (13/23)
回答No.2

マクロで実現する方法までは、わかりませんが、同名のファイルを開くことは可能です。 一つのExcelからは、同名のファイルは開けないですが、Excelは多重起動ができますので、 別に起動したExcelからは同じファイルを開くこともできますし、 別のフォルダにある同じ名前のファイルを開くこともできます。

reitty
質問者

お礼

ありがとうございました!!

reitty
質問者

補足

それをあえてマクロで実現したいと思ってしまっています。私が開くのであればそのようにするのですが、実際に使うのは、ほとんどパソコンを知らない人なので、メニューをクリックするだけでBackupの中も見れたらな、と思いました。 本当に本当に無理なのかな。。

  • Hageoyadi
  • ベストアンサー率40% (3145/7860)
回答No.1

ディレクトリを別にしても、同一ファイル名の場合は同時に開けないようです。 同じブックを同時に開く理由はなんでしょうか? ブック内の離れたところを同時に別ウィンドウで見たい、っていうのなら、「ウィンドウ」→「新しいウィンドウを開く」のあとに「ウィンドウ」→「整列」→「上下に並べて表示」で可能ですが、外していそうなので自信なし。

reitty
質問者

お礼

無理っぽい質問に回答ありがとうございます。

reitty
質問者

補足

同じブックを同時に開く理由は、メニューと、メニューから開けるExcelたちは半年分のみデータの入力ができるようになっています。なので、半年たったら、またデータの入っていない同じ名前のExcelたちにデータを入力していきます。 要するに、メニューからBackupフォルダのメニューを開くということで、過去データを見る、という感じにしたいと思っているのです。 VBAではきついのでしょうか。。

関連するQ&A

  • エクセル:マクロでの同名ファイル検索

    お世話になります。 あるフォルダの中に、たくさんフォルダが入っています。 子フォルダのファイルを全て親フォルダに移すのですが、同名ファイルがある可能性があります。 同名ファイルは枝番をつけるなどして処理するのですが、あらかじめ同名ファイルがあるかどうかを調べたいのです。 親フォルダの中にエクセルを入れておき、マクロの実行の結果、エクセルのシートに同名ファイルの情報を表示できればと思っています。 例)もし同名ファイルがあった場合、 まずセルA1にファイル名、B1に拡張子を表示する。123.xlsの場合 A1に123 B1に.xls そしてそのファイルが入っているフォルダ名をB2以降のB列に表示する。 3つのフォルダにA1のファイル名のデータがあれば、B2,B3,B4にそのフォルダ名が表示される。 もちろん同名ファイルが1組とは限りません。 2つ目以降はB列のフォルダ名が入った下の行のA列(上の例だとA5)にファイル名が入る。 この繰り返しです。 また、もし1つの同名ファイルがなかった場合は、A1に「同名ファイルなし」と表示させます。 ちなみに重複の場合の枝番の付け方に規則性がないため手作業で行いますが、枝番をつけて同名ファイルを無くした あとにまとめて親フォルダに全データを移すこともマクロで可能ならアドバイスください。 フォルダ構成は1つの親フォルダに対して複数の子フォルダで、孫フォルダはありません。 OSはWinXP、Excelは2002です。 よろしくお願いします。

  • VBE 同名ファイルがある場合、上書きしたい

    Dドライブに、 仕訳.xls というファイルがあります。 「保存」マクロを実行すると、不要な行を削除したのち、Dドライブの「経理」フォルダに 決算.xls という名前で保存します。 その一文が、以下で作られています ActiveWorkbook.SaveAs Filename:="D:\経理\決算.xls", FileFormat:= _ xlOpenXMLWorkbook, CreateBackup:=False フォルダ内に同名のファイルがあった時は確認メッセージが出ます。 同名ファイルがあった際、強制的に上書きを行いたいのですが、どこをどう変えればいいかわかりません…

  • エクセル マクロで特定ファイル名だけを開く

    エクセルのマクロで 特定のファイル名だけをフォルダの中から探して 開くというものを作りたいのですが うまくできません。 フォルダを指定して 「060927.xls」というエクセルファイルだけを 開きたいのですが この日付のところが毎日変わるので 「06XXXX.xls」というような 最初が06であと4つの文字が入ってるファイル名だけを 流動的に指定できるようにするには どのようなVBAマクロにすればよいのでしょうか? とても困っています。 是非教えてください!宜しくお願いします。

  • マクロを生かしてファイルをコピーする術エクセル

    お世話になっております。 マクロを組み込んだ、ファイルA.xls を作成しました。 誤って消してしまっては大変ですので、ファイルをコピーして コピーファイルA.xls というものを作成しました。 ただ、こちらのコピーファイルA.xls というもので、マクロを実行しようとすると エラーが出てしまします。 コピーファイルA.xls がファイルAと全く同じマクロを実行してもエラーが出ない ように、ファイルA.xls をコピー(保存)する術はございますでしょうか? ちなみにWINDOWSXPでエクセル2003を使用しております。 マクロ、エクセルに関する知識が乏しいため、質問の仕方に問題があるかも しれませんが、何卒、ご指導のほどよろしく御願い申し上げます。

  • 同名のファイル 上書きにならないように

    宜しくお願い致します。 複数のフォルダのなかにある 複数のファイルを ひとつの新規のフォルダにすべてコピーするという作業をするときに 同名のファイルがあると 上書きするかという ダイアログが でてきますが これを 上書きでなく 別名のファイルにして 当該のフォルダに 保存したいのですが 元フォルダにおいて 別名に どちらかをしてから コピーするというのは 多数の場合は 手間が かかります 自動的に 同名ファイルであっても どちらかの名前を 変更して 上書きが 起こらないように 保存できる ソフト ご存知のかた 教えてください 同名ファイルは 3つ以上のこともありえます 宜しくお願い致します。

  • 複数Excelファイルの一括インポートしたい。

    複数Excelファイルがあります。(aaa.xls、bbb.xls・・・) 同フォルダ内にあるExcelファイル(20個ほど)を1つのファイルにしたいのですが、 手動コピペ以外の方法を教えていただけますでしょうか? できれば、マクロ、VBAでお願いします。 ワークシート名はすべて同じです。(Sheet1のみ取り込みたい(無理であれば他も取り込みしてもOK)) 1つのファイル内で横に並べるようにしたいです。(ファイル名か、Sheet1_1,Sheet1_2・・・) よろしくお願いします。

  • excelで最初に開いたファイル名称を覚えておく様な処理は可能ですか?

    excelで最初に開いたファイル名称を覚えておく様な処理は可能ですか? 1.最初の処理 (1)A.xlsのファイルを開く (2)マクロ:2010.xlsのファイルを開く (3)マクロ:チェックのシートをA.xlsの明細のシートの前に追加 (4)マクロ:チェックのシート名称をコピーした日付と時間のシート名に変更 (5)マクロ:2010.xlsのファイルをディスクトップ上から削除 2.後から追加する処理 (6)B.xlsのファイルを開く (B.xlsは、A.xlsとは異なるフォルダを作成し、A.xlsの特定のセルの中身の名称でファイル名保存されます。名前が異なるだけでマクロの中身はA.xlsと同じ) (7)マクロ:2010.xlsのファイルを開く (8)マクロ:チェックのシートをB.xlsの明細のシートの前に追加 (9)マクロ:チェックのシート名称をコピーした日付と時間のシート名に変更 (10)マクロ:2010.xlsのファイルをディスクトップ上から削除 上記を対応する為に下記の様なマクロ((6)(7)の部分を抜粋)を設定しています。 '2010.xlsのファイルを開く(2010.xlsのファイルは適宜、ディスクトップにコピーされます) Workbooks.Open FileName:="C:\Documents and Settings\ID\デスクトップ\2010.xls" 'チェックのシートを現在のブックの明細の前にコピーする。 Windows("2010.xls").Activate Sheets("チェック").Copy before:=Workbooks(1).Sheets("明細") 単独でA.xlsやB.xlsのファイルが開かれている場合には、 上記の対応で問題ないのですが、A.xls、B.xls以外のexcelファイルが開かれていると、 実行時エラーが出てしまいます。 Workbooks(1)の部分で最初に開いたexcelのファイル名称を指定しているのが 影響しているのはわかるのですが、ここの処理をなんとかしたいというおもいです。 つまり、複数のexcelファイルが開かれていて、A.xlsやB.xlsのファイルを後から開いても エラーがでない様にするには、どの様な処理にしたらよいのか教えて頂きたく。 マクロを実行したexcelのファイル名を覚えておいて、その名前が(1)に置き換わる 様な処理が望まれる処理です。

  • マクロ VBA ファイル名を連番でつけたいのですが

    マクロ初心者なので教えて頂けるとうれしいです。 保存先フォルダにファイル名を自動で名前をつけて保存させるところまでできたのですが、 保存先フォルダに同名フォルダがある場合に、 もともと指定しているファイル名のお尻に連番をつけていくようにしたいのですが・・・ 例) 選択したシートをコピーして、 「A1+B1+見積書.xls」 という名前をつけて毎回保存していくのですが、 同名のファイルがある場合、 「A1+B1+見積書+1.xls」 「A1+B1+見積書+2.xls」 「A1+B1+見積書+3.xls」    …というふうにお尻に自動で連番をつけて 保存できるようにしたいのです。 宜しくお願い致します!

  • VBA エクセル 開いている別ファイルをアクティブにするには?

    すみません、よろしくお願いいたします。 <前提> A.xls=コピー元ファイル(マクロを組んでいるのはこちら) 2009・・・.xls ファイル=コピー先ファイル(2009以降はファイル名が変化しますが、必ず頭に2009があります) 同一フォルダ内に上記のファイルがあります。 どちらも開いて、Aファイルのマクロを実行すると、Aのデータをコピーして、2009・・・のファイルに貼りつける。としたいのですが、 (1)ファイル名が変化するので貼り付け先のファイル名をどう指定したらよいかわからない。 (2)フォルダごと、色々な人へ配る予定なので、できればアクティブなファイルという指定をしたい。(他のファイルは開いてないという前提でOKです。) (3)フォルダ内には2009がつく別ファイルもあるので、(2)同様アクティブなファイルという指定をしたいです。 わかるかた、おねがいいたします。 BVA初心者です。 普通のマクロで記録したら、以下のようになりました。 (例) Sub Macro1() ' ' Macro1 Macro ' ' Range("A1").Select Selection.Copy Windows("20091002_2650.xls").Activate '←この20091002_2650.xlsが変化します。 Range("A10:B10").Select ActiveSheet.Paste End Sub

  • エクスプローラ:ファイル移動先に同名ファイル

    Windows10を使っています。 エクスプローラでファイルを別のフォルダに移動またはコピー時する時について質問です。 移動先のフォルダに同名のファイルがあった場合、「上書きせずにファイル名に連番を自動追加」するのをデフォルトにしたいです。 移動の都度、手動でする方法については、知っています。 参考:『コピー時に同名のファイルを両方とも残す方法。上書きせずに連番を自動追加する』 https://dekiru.net/article/18734/ 毎回[ファイルの情報を比較する]を選んでさらに両方の場所にチェックを入れるのが面倒なので、同名のファイルがあったら確認なしでファイル名に連番をつけて保存して欲しいのです。 どこかで設定を変更したら実現できるのではないかと思い、質問しました。 方法をご存知でしたら、教えてください。

専門家に質問してみよう