• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelで指定したフォルダに保存するマクロ)

Excelで指定したフォルダに保存するマクロ

このQ&Aのポイント
  • Excel2003で、シートをコピーし別ファイルとして保存する方法を教えてください。
  • 保存先のフォルダがネットワーク上にある場合、指定することはできますか?
  • 保存ダイアログを開く理由は何ですか?

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答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

naozen
質問者

お礼

ご回答ありがとうございます! 完璧でした!ちゃんと指定したフォルダにセルの値で保存することができました! 本当にありがとうございました☆(≧∀≦*)ノ

naozen
質問者

補足

大変です! 同じファイルの別のシートにコマンドボタンとマクロをコピーしたら使えなくなりました。 コンパイルエラー:プロシージャの外では無効です というメッセージが出て、 Set oFs = CreateObject("Scripting.FileSystemObject") この部分の、文頭にチェックが入りました。 同じマクロは、別シートにコピーできないのでしょうか?

その他の回答 (1)

  • tohru999
  • ベストアンサー率49% (76/154)
回答No.1

Folname = "ネットワーク上フォルダのフルパス" 上記を例えば Folname = "\\192.168.1.1\Folder1\" にして、 Fname = Application.GetSaveAsFilename(InitialFileName:=Sname, を Fname = Application.GetSaveAsFilename(InitialFileName:=Folname & Sname, に変更

naozen
質問者

お礼

回答ありがとうございました! No.2さんの方法で解決できました。 また機会があれば お願いします(*・∀・)ノ゛ この場をお借りしまして、No.2さんの補足に書きました不具合ですが ちょっとした操作ミスで発生していたことが判明し、教えていただいた方法で解決できました! お騒がせし、申し訳ありませんでした。

naozen
質問者

補足

ご回答ありがとうございます。 Fname = Application.GetSaveAsFilename(InitialFileName:=Folname & Sname, この記述だと、ファイル名にフォルダ名がプラスされてしまいます。 できれば、保存するファイル名はセルの値だけにしたいのですが可能でしょうか?

関連するQ&A