• ベストアンサー

Win7で動作したVBAがwin10で動作しない

win7 ofice2010 win10 office2016 下記のマクロwin10パソコンで動作させると、実行時エラー'75'パス名が無効です となり動作しません。 Filecopy "C:\a.bat","C:\Users\Public\Desktop\a.bat" エクスプローラでコピーしようとすると このフォルダへコピーするには管理者の権限が必要です。 と表示されますが、続行でコピーされます。 マクロの動作で、上記管理者権限を設定する様な対応教えて頂きたく。

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

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.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ファイルを右クリックして管理者として実行する というのもアリです。

3620313
質問者

お礼

ありがとうございます。 うまくいきました。

その他の回答 (1)

  • unokwave
  • ベストアンサー率58% (966/1654)
回答No.1

マクロでは管理者権限を書き換えられません。 そんなことを許したらマクロウイルスでPC内の改竄し放題です。 コピーを成功させる唯一の方法は、UACによる管理者権限実行の確認ダイアログを出して、許諾操作をすればコピーできるという方法です。 こういう事を行います。 http://dechnostick.hatenablog.com/entry/20120307/1331140472 バッチファイルを生成して、そのバッチをこれで実行させる事になるでしょう。

3620313
質問者

お礼

回答ありがとうございます。 内容難しそうですが、試してみます。

関連するQ&A