プロが教える店舗&オフィスのセキュリティ対策術

Excel for Mac2016 でのVBAについて質問です。
各取引先(20社程)への請求書の為に、
パスワード付き保存までするマクロを組まれた Excelを使用していました。

保存以外はうまく起動するので、詳細は割愛しますが、


Excel for Mac2011の時に

F_Path=ThisWorkbook.Path
F_Name=Cells(j,”I”)
F_Pass=Cells(j,”H”)

j =21

ActiveWorkbook.SaveAs Filename= F_Path & “:” & F_Name , Password:= F_Pass

という感じで、
セルI列の21行以降に取引先名の略称。
セルH列の21行以降に Excelの読み取りパスワード。
が入力させれたを名前をつけ、パスワード付きの保存をしていましたが、

Excel for Mac2016 にしてから、実行時エラーはでず、保存されていないブックが開いた状態になってしまい困っております。

今回の Excel for Mac2016のバージョンアップは Mac使用の ExcelをWindows使用と変わらなくすると、何かで見たので、

ActiveWorkbook.SaveAs Filename= F_Path & “:” & F_Name , Password:= F_Pass

上記の”:”部分を”_”に変えて
ActiveWorkbook.SaveAs Filename= F_Path & “_” & F_Name , Password:= F_Pass
して実行すると、
ActiveWorkbookのあるフォルダの一階層上の場所に、フォルダ名と_が追加された名前で保存されました。
(パスワードは指定したものが、ちゃんと使われています)

例) デスクトップに11月請求書フォルダを作り、請求書.xlsmというブックを保存。
その後、マクロをActiveWorkbook.SaveAs Filename= F_Path & “_” & F_Name , Password:= F_Pass
と変更し実行すると、
デスクトップ上に11月請求書フォルダ_〇〇.xlsxという感じで保存されます。
(サーバー上だと、権限付与のメッセージが出でくる為、デスクトップで試運転しました。)

希望は11月請求書フォルダ内に〇〇.xlsxという感じで各社のファイルが欲しいです。

ちなみに2011の時はそれで作成出来てました。


Windows版なら、調べればすぐにわかるのですが、
あいにく会社が Macのみで、動作せずに困ってます。

今はとりあえず2011版で利用してますが、
2011版の使用も近々社内的に難しくなりそうなので、
質問させて頂きました。

お詳しい方のお知恵を拝借させていただきたいです。

ちなみにOS はHigh Sierraで、サーバー上で使用します。

A 回答 (2件)

原因はNo1さん回答の通りで間違いないでしょう。


対応方法を紹介しておきます。
「ファイルパスのフォルダの区切り記号が違う。」
http://darumaexcel.uijin.com/info/pause.html
要するに、
”¥”や”:”でなく
Application.PathSeparator
を使えば解決ということです。
    • good
    • 0
この回答へのお礼

ありがとう

Zincer 様

上記試させ頂きました。
残念ながらシステム的な問題かと思いますが、権限付与のメッセージが出て実際には試せませんでした。
ただ、URL付きの分かりやすい説明ありがとうござます。
凄く分かりやすかったです。

お礼日時:2017/11/29 18:22

Mac用のExcelは持っていないので、詳細はそちらで確認していただきたいのですが。




「ディレクトリ(フォルダ)の区切り」と言って、何のことだかわかりますか?

Folder1 フォルダの下にある file1 という名前のファイルを

Folder1「区切り」file1

と表現するとします。
このとき、フォルダ名とファイル名(または下のフォルダ名)との区切りには、専用の文字が使われます。

例えば、 URL は oshiete.goo.ne.jp/qa/〜 と言ったように、 / (スラッシュ)記号が使われます。
WIndows では \Users\Guest\desktop といったように \ (円記号、またはバックスラッシュ) が使われています。

このように、区切り文字は、OSやシステムによって違います。


大昔のMac (いわゆるClassicと言われるMacOS9まで)では、 : (コロン)が使われていました。
F_Path & “:” & F_Name
というのは「 F_Path フォルダの下の F_Name ファイル」の意味でしょう。

OSX以降は、(UNIXベースになったので、UNIXで使われている) / (スラッシュ) になりました。

おそらく、Excel では、2011までは、過去のOS9までのVBAをそのまま使えるように、と、ファイルに 〜:〜 と指定されたら、内部で 〜/〜 に変換していたのでしょう。
それが 2016になって、この :→/変換を止めたのではないか、と思われます。


では、何にすればいいか、については、わかりかねます
(MacのExcelは持ってないし、調べるのも面倒なので)

Mac標準の / か、 「Windowsと変わらない」の通りの \ かのどちらか(あるいは両方に対応)ではないか、と思います。
    • good
    • 0
この回答へのお礼

kmee 様
親切なご回答ありがとうございます。
/・\を職場で試してみます。
どちらかで、動作するようでしたら、明日またご返事させて頂きます。

ご丁寧な説明に感謝致します。
Mac版の Excelを利用されている方は少ないのを承知での質問でしたので、大変嬉しく思っております。

お礼日時:2017/11/26 23:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A