
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
マクロでネットワーク上のコンピューターへの接続
Excel(エクセル)
-
【Excel VBA】ネットワーク上の共有フォルダにあるExcelを開く
Excel(エクセル)
-
-
4
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
5
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
6
マクロボタンを押すと、ファイル名を“日付(年月日)_文字.xlsx”にして指定ファイルに保存したいの
Excel(エクセル)
-
7
VBA ファイルを開くダイアログでの初期表示にファイルサーバーを指定
Excel(エクセル)
-
8
【Excel VBA】PDFを作成して,指定したフォルダに保存するコードについて
その他(Microsoft Office)
-
9
【Excel】マクロの保存先について
Excel(エクセル)
-
10
VBA ネットワーク上のファイルでカレントフォルダを取得するには?
Visual Basic(VBA)
-
11
エクセルをPDFで保存し、ファイル名はA1セルを参照するVBAの記述を教えてください。
Excel(エクセル)
-
12
【VBA】特定列に文字が入っていたらそのセル行をコピーしてマスターブックの同じ行に貼り付けたい
その他(Microsoft Office)
-
13
ExcelVBA サーバーの(共有フォルダ)中のファイル移動
Excel(エクセル)
-
14
【VBA】マクロの入ったファイルと同じフォルダに,出力したファイルを保存するコードについて
Visual Basic(VBA)
-
15
【VBA】PDF出力に任意のファイル名前を付ける方法
Excel(エクセル)
-
16
【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい
Excel(エクセル)
-
17
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
18
A1セルに入力したら、入力時間をA2セルに自動挿入
Excel(エクセル)
-
19
VBAでネットワークコンピュータのファイルにアクセスできない(XL2000)
Access(アクセス)
-
20
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
保存先のフォルダ名を指定した...
-
会社のネットワーク上のファイ...
-
Excelで指定したフォルダに保存...
-
excel VBA Dirにて検索したフォ...
-
カレントフォルダって?
-
ファイル名と同名のフォルダを...
-
Debug フォルダは消していいの?
-
EXCELのセルにフォルダのパスの...
-
パス名に2バイト文字(マルチバ...
-
エクセルのデータをメモ帳に貼...
-
Excelvbaでブックをコピー名前...
-
(C#)フォルダを指定するダイ...
-
FileAPIでドラッグ&ドロップに...
-
【ExcelVBA】一覧表の記載に従...
-
【マクロ】フォルダにファイル...
-
エクセルマクロで指定フォルダ...
-
機種依存文字を含むフォルダ/フ...
-
Let’s Encryptでwebroot設定な...
-
ExcelのVBAでフォルダ指定がで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
VBA 最新のフォルダ取得
-
デスクトップの画像をhtmlに表...
-
ファイル名と同名のフォルダを...
-
会社のネットワーク上のファイ...
-
ExcelのVBAでフォルダ指定がで...
-
Excelで指定したフォルダに保存...
-
VBA フォルダの複数選択ができない
-
【マクロ】ファイル名の日付に...
-
VB.NRT FolderBrowserDialogを...
-
【マクロ】フォルダにファイル...
-
ThisWorkbookがあるフォルダ更...
-
ディレクトリ名変更してコピー...
-
(C#)フォルダを指定するダイ...
-
VB6で7-ZIPのAPIを使用した圧縮...
-
VBプロジェクトでのフォルダ構...
-
パス名に2バイト文字(マルチバ...
-
Debug フォルダは消していいの?
-
フォルダにリンクを貼りたい
-
フォルダAから1つのファイルだ...
おすすめ情報