前提・実現したいこと
Powerpoint for Mac 2016のVBAマクロで、Excelファイルを読み込みたい
リンク内容
発生している問題・エラーメッセージ
リンク先で質問・回答をいただき、一旦解決したのですが、その後成功していたコードが再現できなくなりました。
リンク内容
コード内容と、現象としては、
1.特定フォルダに入っているエクセルファイルの有無を確認
→特に問題なし
2.Poerpointのオブジェクトにエクセルを指定し開く(CreateObject)
→エクセルがすでに開いていようとなかろうと、確実に開くことはできる
強制終了になった場合は、前回ブックが開かれ重複するリスクがあるが、キャンセルし前回ファイルは開かないようにしている
3.特定のエクセルファイルを開く(Workbooks.Open)
→ここで一瞬、所定のファイルが開けたと思ったら、エラーメッセージ(「問題が起きました 迷惑をかけます」)が生じ、エクセルは強制終了。
また、パワポもフリーズしており、強制終了が必要、ないし待機していると強制終了に至る
最初の1回はエラーなく確実に開くことができ、後半のコードも無事に完遂しました。
ところが気になるのが、その後後半部分のプログラム修正のため マクロ起動→終了or中止or強制終了を繰り返すうちに、3~5回ほどで上記エラーが頻発するようになりました。(いきなりではなく、徐々に重くなりエラーが頻発してきた印象?)
その他のプログラムの影響と思っていましたが、いつの間にか「エクセルを開く」コードのみすら走らないことがわかり、問題が元に戻っていることに気がつきました。
該当のソースコード
VBA
1Sub Replacement() 'エクセル 表を用いて文字列置換 2 3If Dir("/Users/●ユーザーネーム●/Library/Group Containers/UBF8T346G9.Office/ユーザー コンテンツ/text置換.xlsx") = "" Then 4MsgBox "指定したファイルは存在していません" 5Exit Sub 6End If 7 8 'Excelを読込 9Dim XL As Object 10Dim XLBK As Object 11Set XL = CreateObject("Excel.Application") 12Set XLBK = XL.Workbooks.Open ("/Users/●ユーザーネーム●/Library/Group Containers/UBF8T346G9.Office/ユーザー コンテンツ/text置換.xlsx") 13 14'〜〜エクセルファイル読み込みとは直接関係ないため、以下略〜〜 15End Sub
試したこと
前回の質問で、最終的に解決したのは、おそらくOffice for Mac2016 特有のサンドボックス の強さ?の影響であろうということで、
PPTファイルと同じフォルダに入れていたエクセルファイルを、UBF8T346G9.Officeより下層に移したところ、1回解決していました。
なので根本的な問題であるはずのサンドボックス対策はおわったはずなのに、まるでMacが学習したように(?)再度エクセルファイルへのアクセスを除外したように見える挙動なのです。
1.UBF8T346G9.Officeと同列か、さらに下層既存フォルダ、あるいは新規フォルダにエクセルファイルを複製して、試してみた
→結果は変わらず無効
リンク内容
リンク内容
2.ファイルパス名に日本語が含まれるパターンと、横文字のみのパターンがあったが、どちらも試してみた。
Finder→右クリック→Optionからパス名をコピペしているので、転記ミスはないはずであるし、コードの冒頭で指定ファイルは発見できる
(*ただし気になるのは、確か成功していた時は「カタカナ入り:ユーザー コンテンツ」だった気がしますが、
いつの間にか反応しなくなり、横文字でのパスでしか反応しなくなりました。
これはうろ覚えですが、)
3.データ移行前の古いMacを持っていたため、エクセルファイルを移した上で、該当コードを走らせてみるが、一度も成功せず同じ現象(一瞬だけエクセルファイルが開くことができる)
4.セーフモードでチャレンジ
セーフモード下でも挙動は同じ
5.Office2016の再インストール
同じく
6.アクティビティモニタの監視・不要アプリやフォルダの終了・「Freeman」アプリによる、エクセルへのアクセス直前のメモリ解放もしました。
成功していた時も特に気にしていなかったので、その時より占有メモリは少ないはずですが、これも失敗
それどころか、エクセルファイルを開く瞬間も特にメモリに変化はないようでした
補足情報(FW/ツールのバージョンなど)
Office 2019ではどうか?ということは気になります。
最終手段は、いちいちWindowsパソコンにデータを移して行う、ということなのでしょうが、ここまできたらMacでの遂行にこだわってみたいと思っています。
一度閉じた質問ですが、よろしくお願いいたします。
Macbook Air:Mac OS Mojave , 1.6GHz Intel Core i5, memory 16GB
Powerpoint for Mac(ver 15.33、office 365 サブスクリプション)
Excel for Mac(同上)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/23 15:38
2019/12/23 21:33
2019/12/24 09:23
2019/12/24 10:29