64ビットで実行した場合は32ビットで再実行するVBScript

ScriptControl他、64ビット環境では実行できない場合に使えるかもしれません。
ScriptControlの場合は下記ページのような代替方法も有り。

「64ビット環境でのScriptControlの代わり」
http://www.ka-net.org/office/of32.html

Option Explicit

'64ビットで実行した場合は32ビットで再実行する
With CreateObject("WScript.Shell")
  If (InStr(.ExpandEnvironmentStrings("%PROCESSOR_ARCHITECTURE%"), "64")) And _
     (InStr(LCase(WScript.FullName), "system32")) Then
    Dim ExeName
    Dim ExePath
    Dim SysFolderPath
    
    ExeName = Mid(WScript.FullName, InStrRev(WScript.FullName, "\") + 1)
    With CreateObject("Scripting.FileSystemObject")
      SysFolderPath = .GetSpecialFolder(0).Path
      ExePath = SysFolderPath & "\SysWOW64\" & ExeName
      If .FileExists(ExePath) <> True Then
        MsgBox "SysWOW64フォルダ内に " & ExeName & " が見つかりませんでした。" & vbCrLf & _
               "処理を中止します。", 16
        WScript.Quit
      End If
    End With
    .Run """" & ExePath & """" & " " & """" & WScript.ScriptFullName & """"
    WScript.Quit
  End If
End With

'MsgBox CreateObject("WScript.Shell").ExpandEnvironmentStrings("%PROCESSOR_ARCHITECTURE%") & vbCrLf & WScript.FullName '確認用
MsgBox EncodeURL("初心者備忘録")

Private Function EncodeURL(ByVal sWord)
  With CreateObject("ScriptControl")
    .Language = "JScript"
    EncodeURL = .CodeObject.encodeURIComponent(sWord)
  End With
End Function
広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中


%d人のブロガーが「いいね」をつけました。