ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

EXCEL VBAコミュのファイル名の一部を置換する方法

  • mixiチェック
  • このエントリーをはてなブックマークに追加
はじめまして。
ファイルを開く際にファイルの場所や名前を置換して開きたいのですが、どのような関数をもちいれば可能でしょうか?
サブルーチンのように置換をしようと試みているのですが、なかなかうまくいきません。
お手数ですが、ご回答よろしくお願いします。

↓のようにやってみましたが、ファイル名が見つからずにエラーになってしまいます。

Sub Macro1()

' Macro1 Macro

Workbooks.Open Filename:= _
"C:\Documents and Settings\NN\デスクトップ\EXCEL\macro2\2006年1月1日−macro2.xls"

Workbooks.Open Filename:= _
"C:\Documents and Settings\NN\デスクトップ\EXCEL\macro2\2006年1月2日−macro2.xls"

Workbooks.Open Filename:= _
"C:\Documents and Settings\NN\デスクトップ\EXCEL\macro2\2006年1月3日−macro2.xls"

Workbooks.Open Filename:= _
"C:\Documents and Settings\NN\デスクトップ\EXCEL\macro2\2006年1月4日−macro2.xls"

End Sub

Sub macro2()
端末1
End Sub

コメント(5)

はじめまして。

>ファイル名が見つからずにエラー
単にその名前のファイルがないんじゃないでしょうか?


実現したい機能の説明が不足していると思います。
すでにある何らかのファイルを別名で開いて操作したい、ということでしょうか?
であれば、一度元のファイルを開いて、それから別名で保存すればできると思います。
>>鳶秋
書き込みとご指摘ありがとうございます。
説明不足、申し訳ありません。

実際のファイルは↓のようになっています。
"C:\Documents and Settings\NN\デスクトップ\EXCEL\端末1\2006年1月1日−端末1.xls"

このファイルの『端末1』の部分を置換したいのです。
例えばこの『端末1』を『X』という文字に置換して、

"C:\Documents and Settings\NN\デスクトップ\EXCEL\X\2006年1月1日−X.xls"

とします。このようにして実際のファイルを開く方法がないかを探しています。
実際になぜこのようにするかを書いた方が早いと思います。

行間を読むと、
ファイル「端末1\2006年1月1日ー端末1.xls」を
「X\2006年1月1日-X.xls」と、端末名が見えないように開きたい。
と言う事でしょうか。

「端末1\2006年1月1日ー端末1.xls」を「X\2006年1月1日-X.xls」にコピーしてから開くといいですよ。
Sub FileOpenWithRename()

Dim writepath as String
Dim openfile as String
Dim openfile_ref as String

writepath = "C:\Documents and Settings\NN\デスクトップ\EXCEL\端末1"
openfile_ref = "2006年1月1日−端末1.xls"
openfile = Mid(openfile_ref,1,10) & "X.xls"

FileCopy openfile_ref, openfile

Workbooks.Open writepath & "\" & openfile

End Sub

やりたい事がうまくつかめていないかも知れませんが・・・。
指定したファイルをコピーし、希望の名前にリネームした
後ブックを開きます。
>>TaKuBo
>>autumn
書き込みありがとうございます。
おかげで実現したいことができるようになりました!
わかりづらい説明にもかかわらず回答していただいて、
本当にありがとうございました。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

EXCEL VBA 更新情報

EXCEL VBAのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。