[[20181212154739]] 『名前を付けて保存するとマイドキュメントにも保存』(yumipapa) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『名前を付けて保存するとマイドキュメントにも保存される』(yumipapa)

マクロの入っているファイルを下記のようにインプットボックスを使ってファイル名を取得し、特定のフォルダにxlsx形式で保存したいのですが、下記を実行すると、目的のフォルダにファイルは保存されますが、なぜかローカルのマイドキュメント内にも保存されてしまいます。

なぜでしょうか?

ご教示よろしくおねがいします。

'ファイルを「xlsx形式」で保存する

 Dim buf As String 
    Do 
     buf = InputBox(Prompt:="ファイル作成日を入力してください。", Title:="Test") 
      If buf = "" Then MsgBox "この項目は省略できません", vbExclamation 
    Loop While buf = "" 

 Dim myPath As String 
  myPath = "\\青木 秀夫\Temp\マクロ化\最新版\" 

  ActiveWorkbook.SaveAs Filename:=myPath & "リスト" & buf, FileFormat:=xlOpenXMLWorkbook

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 Windows10でも、Excel2016でもないけど、キーワードがOneDriveってのが関係ありそう。
 だから、どうしたらいいんだとかよく解ってません。
(BJ) 2018/12/12(水) 16:24

\\ネットワークコンピューター名 から始まるパスはネットワーク上のコンピュータのパスを示しますが、全角文字のコンピューター名でしかも半角スペース入りって存在出来ましたっけ?

もし相対パスのおつもりなら、ThisWorkbook.Pathから続けると良いかと

  myPath = ThisWorkbook.Path & "\青木 秀夫\Temp\マクロ化\最新版\" 

絶対パスでマイドキュメントならこんな感じになるかと

  myPath = "C:\Users\青木 秀夫\Documents\Temp\マクロ化\最新版\"

ネットワークコンピューター名がよくわからないなら、そのフォルダにエクセルを保存して、
msgbox ThisWorkbook.Path
等として確認されてはいかがかと?

仮に全角文字コンピューター名が出来るのなら、VBAが対応していないかもしれないので\\IPアドレスで指定してみるとか。
(名無し) 2018/12/12(水) 16:27


コードをぱっと見る限り問題なさそうな気がしますけどね・・・
もっとも提示されたのが一部だけですから、私にはよくわかりません。

考えられることとして、実はWorkbook_BeforeSaveイベントが記述してあったりとかしないですかね。
問題がおきるブックのThisworkbookモジュールや、VBEのプロジェクトウィンドウを確認し「〇〇.xlma」というものがあれば、そちらのThisworkbookモジュール(クラスモジュールも?)を確認してみては如何でしょうか?

名無しさんご懸念の「全角文字のコンピューター名でしかも半角スペース入りって存在出来ましたっけ?」は私もちょっと気になりました。フォルダ名であれば可能ですけどね。
ただ、存在できない場合、質問の内容が「目的のフォルダにファイルが保存され【ません】」になるようにおもうので可能なんだな〜と理解してます。

(もこな2) 2018/12/12(水) 17:18


早速のご返信ありがとうございます。
ネットワークパスは、会社のモノなので、あえて変えて掲載しました。
おっしゃるように、パスは実際は半角です。

目的のネットワーク上のフォルダには、きちんと保存されます。
なぜか、ローカルのマイドキュメントにも保存されるという現象です。

ご提示されたことを試してみようと思います。

引き続きよろしくお願いします。
(yumi papa) 2018/12/12(水) 17:28


自宅に帰って、いろいろ試行錯誤をしてみましたが、なんとか原因のようなものが分かりました。

実は、最後にブックの共有化をするのです。

Sub Run1()

 Application.DisplayAlerts = False

 Dim myPath As String

  myPath = "\\LS510DF57\Hide_Dv\test\"
   ActiveWorkbook.SaveAs Filename:=myPath & "JENESIS?E???X???_" & Format(Date, "yyyymmdd"), _
                      FileFormat:=xlOpenXMLWorkbook

'ブックの共有化

 ActiveWorkbook.ProtectSharing

 Application.DisplayAlerts = True

MsgBox "ファイルの加工が終了しました。", vbOkonky, "リスト変更業務"

End Sub

この記述だと、ネットワーク上のフォルダに保存できますが、同時にマイドキュメントにも保存されます。

Sub Run2()

 Application.DisplayAlerts = False

 Dim myPath As String
  myPath = "\\LS510DF57\Hide_Dv\test\"
   ActiveWorkbook.SaveAs Filename:=myPath & "JENESIS?E???X???_" & Format(Date, "yyyymmdd"), _
                      FileFormat:=xlOpenXMLWorkbook

 Application.DisplayAlerts = True

 MsgBox "ファイルの加工が終了しました。", vbOkonky, "リスト変更業務"

End Sub

この記述だと、マイドキュメントには保存されませんでした。

ブックの共有化が原因かと思われますが、回避方法はありますでしょうか?

(yumipapa) 2018/12/12(水) 20:40


https://docs.microsoft.com/ja-jp/office/vba/api/excel.workbook.protectsharing

使ったことないので、よくわかりませんが、ここ読むと、それが普通の動作に思えます。

 >保存したファイルの名前を示す文字列を指定します。絶対パスを指定できます。
 >指定しない場合、ファイルは現在のフォルダーに保存されます。

サロンは放置でしょうか。

(マナ) 2018/12/12(水) 21:00


そうなのですね。

共有は手動ですかね。

ご指摘の他のサイトは終了させました。
(yumipapa) 2018/12/12(水) 21:19


>そうなのですね。

いえ。使ったことないので、わかりません。
そちらで、いろいえろ試してみてはでしょうか。

savasをやめるとか。
ファイル名を省略しないとか。

(マナ) 2018/12/12(水) 21:40


https://docs.microsoft.com/ja-jp/office/vba/api/excel.workbook.protectsharing
をよく読んでください。
Filenameの項に
「保存したファイルの名前を示す文字列を指定します。絶対パスを指定できます。
 指定しない場合、ファイルは現在のフォルダーに保存されます。」
とありますよ。
指定していないので、現在のフォルダに保存されているんじゃないですか?

mougにも追加投稿しているようですが、こちらだけで十分じゃないですか?
あちこち色んな所に投稿しないでください。他人に言われないと後始末できなんんだから。
(γ) 2018/12/12(水) 21:57


削除
(yumipapa) 2018/12/12(水) 22:31

あぁマルチポストだったんですね。

わたしは普段いかないから、確認してませんが、サロンは、明確にマルチポストを禁止していますから、どちらで続けるのか、はっきりさせたほうがよいですし、終わらせるにしても、「マルチポスト状態だったため閉じます。続きは、www.〜 」 というように、一方的に話を終わらせるのではなく、なんで閉じるのか、続きが気になる人は、どうすればよいのかなどフォローされると丁寧だとおもいます。

mougのほうは、マルチポスト禁止を明示してませんし、こちらはマルチポスト可としているので、このまま両方で話を続けても構わないでしょうが、マルチポスト自体、好かれる行為ではありませんし、複数のサイトで別々のプラン提案されても収拾つかなくなりそうなので心配です。

それでも、マルチポスト状態を続けるなら、マナーとして、それぞれのトピックにマルチポストであることを明示のうえ、回答があったら、責任もって他のサイトにも転記されると良いかとおもいます。

(もこな2) 2018/12/13(木) 00:25


ご助言、ありがとうございます。
マルチポストの件は、知りませんでした。
今後、気を付けます。

(yumipapa) 2018/12/13(木) 06:40


削除
(yumipapa) 2018/12/13(木) 06:40

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.