- ベストアンサー
Win7で動作したVBAがwin10で動作しない
win7 ofice2010 win10 office2016 下記のマクロwin10パソコンで動作させると、実行時エラー'75'パス名が無効です となり動作しません。 Filecopy "C:\a.bat","C:\Users\Public\Desktop\a.bat" エクスプローラでコピーしようとすると このフォルダへコピーするには管理者の権限が必要です。 と表示されますが、続行でコピーされます。 マクロの動作で、上記管理者権限を設定する様な対応教えて頂きたく。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ちょっと道のりが長いですが、次の手順を使い 課題のマクロブックを 明示的に、管理者として実行することで実現できるようです。 (少なくとも当方では実現できます) 手順1 次のようなコマンドを実行するbatファイルを用意 start excel d:\hoge\qqq.xlsm 手順2 このbatファイルのショートカットを作成 手順3 このショートカットのプロパティ、ショートカットタブ、 詳細設定ボタンで管理者として実行をオン 手順4 このショートカットを実行 手順5 起動したエクセルで課題マクロを実行 Filecopy "C:\a.bat","C:\Users\Public\Desktop\a.bat" といった記述でも行けると思いますが 以下のコードが私の試したコードです。 Sub Sample() Dim WSH, wExec, sCmd As String, Result As String Set WSH = CreateObject("WScript.Shell") sCmd = "copy D:\a.bat C:\Users\Public\Desktop\a.bat" Set wExec = WSH.Exec("%ComSpec% /c " & sCmd) 'Result = wExec.StdOut.ReadAll 'Debug.Print Result End Sub ※ ショートカットを作成せず、 課題batファイルを右クリックして管理者として実行する というのもアリです。
その他の回答 (1)
- unokwave
- ベストアンサー率58% (966/1654)
マクロでは管理者権限を書き換えられません。 そんなことを許したらマクロウイルスでPC内の改竄し放題です。 コピーを成功させる唯一の方法は、UACによる管理者権限実行の確認ダイアログを出して、許諾操作をすればコピーできるという方法です。 こういう事を行います。 http://dechnostick.hatenablog.com/entry/20120307/1331140472 バッチファイルを生成して、そのバッチをこれで実行させる事になるでしょう。
お礼
回答ありがとうございます。 内容難しそうですが、試してみます。
お礼
ありがとうございます。 うまくいきました。