プログラミング

プログラミングに関するフォーラムです。VBAは除きます。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : その他)
vbscriptのエラーの解決方法について
投稿日時: 20/03/22 21:13:28
投稿者: yutuchi345

vbscript初心者です。
vbscriptを用い、特定のエクセルシート(ファイルのアドレスリスト、ツリー一覧シートとファイル一覧シート2つある)
からシートを選択させ、入力した行のセルに入力されているリンクを持つショートカットファイルを作るプログラムを作ろうとしています。
「アドレスが存在しない」エラーになり困っています。(エラーになるのは下線のところ)
太字部分で確認している、取得したいショートカットファイル名、アドレスはまでは正しく表示されます。
 
いろいろなサイトのコードを拝借しながら作っているので構文がそもそもおかしいところも多いかもしれませんが、どうやったらエラー解消するか、入力内容の無駄な箇所等ご指摘いただけると大変ありがたいです。
よろしくお願いいたします。
 
〜〜以下本文〜〜
 
Set obj = WScript.CreateObject("Excel.Application")
Set ws = CreateObject("WScript.Shell")
desktop = ws.SpecialFolders("Desktop")
 
Set excel = obj.WorkBooks.Open(desktop & "\Googleドライブツリー&ファイル作成.xlsx")
 
Dim whichData
Dim whatNumber
 
Do
whichData=InputBox("ツリー一覧からショートカット作成なら「0」"&vbCr&"ファイル一覧からショートカット作成なら「1」を入力")
Loop Until value=0 or 1
 
If whichData = 0 Then
Do
whatNumber=InputBox("ツリー一覧からショートカットを作成します。"&vbCr&"ショートカットを作る行を入力してください。")
Loop Until IsNumeric(value)
 
ElseIf whichData = 1 Then
Do
whatNumber=InputBox("ファイル一覧からショートカットを作成します。"&vbCr&"ショートカットを作る行を入力してください。")
Loop Until IsNumeric(value)
 
Else
End If
 
Set sheet = excel.WorkSheets.Item(whichData+2)
 
With excel.Sheets(whichData+2)
Dim name
name=.Cells(whatNumber,2)
 
Dim address
address=.Cells(whatNumber, 3)
 
end with
 
WScript.Echo name
WScript.Echo address

 
Set ws = CreateObject("WScript.Shell")
desktop = ws.SpecialFolders("Desktop")
Set sc = ws.CreateShortcut(desktop & "\"&name&".lnk")
 
Set exec = ws.Exec("address")
 
exec.StdIn.Close
 
with sc
.TargetPath = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
.Arguments = exec.StdOut.ReadAll
.WorkingDirectory = desktop
.save
end with

回答
投稿日時: 20/03/23 06:31:03
投稿者: MMYS

ヒント。この2つの違いは?
 
WScript.Echo address
WScript.Echo "address"
 

投稿日時: 20/04/04 12:14:26
投稿者: yutuchi345

返信遅れ申し訳ありません。
ヒントをいただき何とか解決できました。
ありがとうございました。