-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathInstall.vbs
61 lines (49 loc) · 1.68 KB
/
Install.vbs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
' 連番太郎インストールスクリプト
'
' 参考サイト
' ある SE のつぶやき
' VBScript で Excel にアドインを自動でインストール/アンインストールする方法
' http://fnya.cocolog-nifty.com/blog/2014/03/vbscript-excel-.html
On Error Resume Next
Dim installPath
Dim addInName
Dim addInFileName
Dim objExcel
Dim objAddin
'アドイン情報を設定
addInName = "連番太郎"
addInFileName = "Numbering-ExcelAddin.xlam"
Set objWshShell = CreateObject("WScript.Shell")
Set objFileSys = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Shell.Application")
If (Not(objFileSys.FileExists(addInFileName))) Then
MsgBox "インストールファイルが見つかりませんでした。Zipファイルを展開して実行してください。", vbExclamation, addInName
WScript.Quit
End If
'インストール先パスの作成
'(ex)C:\Users\[User]\AppData\Roaming\Microsoft\AddIns\[addInFileName]
strPath = objWshShell.SpecialFolders("Appdata") & "\Microsoft\Addins\"
installPath = strPath & addInFileName
If MsgBox(addInName & " をインストールしますか?", vbYesNo + vbQuestion, addInName) = vbNo Then
WScript.Quit
End If
'ファイルコピー(上書き)
objFileSys.CopyFile addInFileName ,installPath , True
Set objFileSys = Nothing
'Excel インスタンス化
Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Add
'アドイン登録
Set objAddin = objExcel.AddIns.Add(installPath, True)
objAddin.Installed = True
'Excel 終了
objExcel.Quit
Set objAddin = Nothing
Set objExcel = Nothing
If (Err.Number = 0) Then
MsgBox "アドインのインストールが終了しました。", vbInformation, addInName
Else
MsgBox "エラーが発生しました。" & vbCrLF & "Excelが起動している場合は終了してください。", vbExclamation, addInName
WScript.Quit
End If
Set objWshShell = Nothing