Excel2003で、シートをコピーし別ファイルとして保存したいのですが
保存先のフォルダがネットワーク上にあります。
ファイル名は、指定したセルの値で保存されるようにします。
以下の記述でマクロ実行すると、シートは別ファイル(BOOK1)としてコピーされ
ます。
名前をつけて保存ダイアログが開きますが、そのときにマイドキュメントが開き
ます。
Private Sub CommandButton1_Click()
ActiveSheet.Select
ActiveSheet.Copy
Dim Sname As String, Fname As Variant, Folname As String
Folname = "ネットワーク上フォルダのフルパス"
Sname = Range("O46").Value
If Sname = "" Then Sname = ThisWorkbook.Name
Fname = Application.GetSaveAsFilename(InitialFileName:=Sname,
fileFilter:="Excel(*.xls), *.xls")
If Fname <> False Then ActiveWorkbook.SaveAs Fname
End Sub
そもそもネットワーク上のフォルダを指定することはできないのでしょうか?
マクロに関してはずぶの素人で、上記の記述は過去の質問などを参考に作成しま
したので
どこかに間違いがあるのかも知れませんが、間違いを特定することができません。
お手数おかけし申し訳ありませんが、ご教示のほどよろしくお願いします。
補足として、保存する際にダイアログを開きたい理由は以下の通りです。
・保存先誤り防止(作業者が多数いて、使用するPCも違うため)
・ファイル名誤り防止(同じファイル名が存在しないかどうか確認)
No.2ベストアンサー
- 回答日時:
こちらでは、IP Address 指定だとファイル名が,"" で括られてしまいましたが
フォルダ名とファイル名が一緒くたになることはありませんでした。Excel2010
UNC名だとうまく行きました。
Sub てすと()
Dim Sname As String, Fname As Variant
Dim oFs As Object
Const FolName As String = "\\サーバー名\共有名\フォルダ名\"
Set oFs = CreateObject("Scripting.FileSystemObject")
If oFs.folderExists(FolName) = False Then
MsgBox FolName & " が見つかりません"
Set oFs = Nothing
Exit Sub
End If
ActiveSheet.Select
ActiveSheet.Copy
Sname = Range("O46").Value
If Sname = "" Then
Sname = ThisWorkbook.Name
End If
Fname = Application.GetSaveAsFilename(InitialFileName:=FolName & Sname, _
fileFilter:="Excel(*.xls), *.xls")
If Fname <> False Then
ActiveWorkbook.SaveAs Fname
End If
Set oFs = Nothing
End Sub
この回答への補足
大変です!
同じファイルの別のシートにコマンドボタンとマクロをコピーしたら使えなくなりました。
コンパイルエラー:プロシージャの外では無効です
というメッセージが出て、
Set oFs = CreateObject("Scripting.FileSystemObject")
この部分の、文頭にチェックが入りました。
同じマクロは、別シートにコピーできないのでしょうか?
ご回答ありがとうございます!
完璧でした!ちゃんと指定したフォルダにセルの値で保存することができました!
本当にありがとうございました☆(≧∀≦*)ノ
No.1
- 回答日時:
Folname = "ネットワーク上フォルダのフルパス"
上記を例えば
Folname = "\\192.168.1.1\Folder1\"
にして、
Fname = Application.GetSaveAsFilename(InitialFileName:=Sname,
を
Fname = Application.GetSaveAsFilename(InitialFileName:=Folname & Sname,
に変更
この回答への補足
ご回答ありがとうございます。
Fname = Application.GetSaveAsFilename(InitialFileName:=Folname & Sname,
この記述だと、ファイル名にフォルダ名がプラスされてしまいます。
できれば、保存するファイル名はセルの値だけにしたいのですが可能でしょうか?
回答ありがとうございました!
No.2さんの方法で解決できました。
また機会があれば
お願いします(*・∀・)ノ゛
この場をお借りしまして、No.2さんの補足に書きました不具合ですが
ちょっとした操作ミスで発生していたことが判明し、教えていただいた方法で解決できました!
お騒がせし、申し訳ありませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/17 11:59
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Access(アクセス) エクセルのマクロについて教えてください。 2 2023/02/03 16:07
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/20 16:59
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
【Excel VBA】ネットワーク上の共有フォルダにあるExcelを開く
Excel(エクセル)
-
マクロでネットワーク上のコンピューターへの接続
Excel(エクセル)
-
マクロ、PDFを任意のフォルダへ保存
Excel(エクセル)
-
-
4
SaveAsの保存先について
Visual Basic(VBA)
-
5
保存先のフォルダ名を指定したいとき
Visual Basic(VBA)
-
6
excelのマクロで該当処理できなければ飛ばして進むにはどうすればよいのでしょうか
Visual Basic(VBA)
-
7
エクセルをPDFで保存し、ファイル名はA1セルを参照するVBAの記述を教えてください。
Excel(エクセル)
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
VBA ファイルを開くダイアログでの初期表示にファイルサーバーを指定
Excel(エクセル)
-
10
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
11
VBAでSaveAs使用し、指定していないのにデスクトップに保存される理由
PowerPoint(パワーポイント)
-
12
日付を入力したセルをファイル名にして保存するには
Excel(エクセル)
-
13
VBA ネットワーク上のファイルでカレントフォルダを取得するには?
Visual Basic(VBA)
-
14
マクロの「SaveAs」でエラーが出るのを解消したいです(再)
Visual Basic(VBA)
-
15
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
16
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
17
エクセルをPDFにし複数のユーザーが各自の指定のデスクトップフォルダに保存するVBAを教えてください
Excel(エクセル)
-
18
エクセル マクロ 名前を付けて保存 PDF保存先指定 ファイル名任意+日付
Excel(エクセル)
-
19
VBAでサーバー上のファイルを開く
Excel(エクセル)
-
20
エクセル:一般的に何メガくらいの容量なら安全ですか?
PowerPoint(パワーポイント)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
多量のファイルをフォルダに自...
-
【マクロ】ファイル名の日付に...
-
Excelのハイパーリンクについて...
-
VBA 最新のフォルダ取得
-
exeと同じ階層にフォルダを配置...
-
バッチファイルが保存されてい...
-
Excelで指定したフォルダに保存...
-
あるフォルダの中にあるファイ...
-
マクロについて教えてください ...
-
あるフォルダーのファイルを違...
-
サーバ内のフォルダ名と各フォ...
-
フォルダ内のPDFファイル名を変...
-
Access VBA で フォルダ権限...
-
フォームを最前面に表示したい...
-
ExcelのVBAでの複数階層からの...
-
C ファイル出力で、フォルダが...
-
PSPICE 9.1 STUDENT VERSION ...
-
フォルダを開いて、閉じるのプ...
-
VB6でCSVファイルにパスワード...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
ファイル名と同名のフォルダを...
-
VBA 最新のフォルダ取得
-
【マクロ】ファイル名の日付に...
-
windowsでテキストファイルの各...
-
デスクトップの画像をhtmlに表...
-
Access VBA で フォルダ権限...
-
フォルダ内のPDFファイル名を変...
-
パス名に2バイト文字(マルチバ...
-
多量のファイルをフォルダに自...
-
Excelで指定したフォルダに保存...
-
会社のネットワーク上のファイ...
-
ディレクトリ名変更してコピー...
-
VBA フォルダ名に特定の文字を...
-
エクセルマクロで指定フォルダ...
-
保存先のフォルダ名を指定した...
-
あるフォルダの中にあるファイ...
-
ExcelのVBAでフォルダ指定がで...
-
エクセルのマクロについて教え...
-
Excel VBA で フォルダ名の一部...
おすすめ情報