質問: nothing ```
回答: 適当に拾ってきたハングル文字でファイルを作成してテストしてみたところ、CreateShortcutで引っかかるようですね。 SJISしか受け付けないような気がします(全然調べていませんが...) とりあえず適当な名前でショートカットを作成した後、リネームすれば問題なく実行できましたので参考にしてください。 ``` '変数を明示的に宣言するよう強制する宣言 Option Explicit '変数の宣言 Dim WSH,sc,o_dir,d_dir,objFso 'オブジェクトをインスタント化 Set WSH=CreateObject("WScript.Shell") Set objFso = CreateObject("Scripting.FileSystemObject") o_dir = InputBox("コピー元(削除対象)のファイル名を入力してください") d_dir = InputBox("コピー先のファイル名を入力してください") 'ファイルのコピー objFso.CopyFile o_dir, d_dir '適当な名前でショートカットの作成 'Set sc = WSH.CreateShortcut(o_dir & ".lnk") Set sc = WSH.CreateShortcut(".\_shortcuttemp_.lnk") sc.TargetPath = d_dir sc.save 'ショートカット存在のチェックおよびファイルの削除 If objFso.FileExists(sc) Then objFso.DeleteFile o_dir 'ショートカットファイル名を正規の名前に変更する objFso.MoveFile sc, o_dir & ".lnk" Else Msgbox "ショートカットが作成されていません" End if 'オブジェクト開放 Set sc = Nothing Set WSH = nothing Set objFso = nothing ```