2012-05-09 3 views
3

2つのファイルを呼び出すショートカットを作成するには、最初にExcel.exeを呼び出してから、そのファイルを自分のアドインを呼び出します。2つのファイルでショートカットを作成すると、名前が変わりますか?

私はそれが次のことをやってテストした:

Target: 
"C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" "C:\MyAddin.xll" 

、それが正常に動作します。今、私はそれをinno-setupで実装したいと思います。

私はグローバル変数に格納されているinno-setupのいくつかの自動化によってExcel.exeの場所を取得する必要があります。私も他のものを試してみた

Name: {commondesktop}\{#MyAppName}; Filename: ExcelExecutablePath; 
Parameters: {app}\{#MyAppExeName}; Tasks: desktopicon; 
Flags: CreateOnlyIfFileExists; IconFilename: {app}\Icons\TimeCard64.ico; 

、しかし、私はこの1つ上の損失のビットでよ:

これは私が試したものです。

ありがとうございます。私が何かをより明確にすべきかどうか私に教えてください!

+0

「c:\」に実際にアドインをインストールしていないことを確認してください。それは '{pf} \ youraddin \'またはそれに類するものになるはずです。 – Deanna

+0

@Deanna、そうですね、それはもっと単純な目的のためのものでした。しかし、アドバイスをありがとう。私は実際にそれを{app} \ myaddin.xllに持っています。もちろん、それをインストールした後、私はまだ把握していない他の問題を抱えています:\。 – Jon49

答えて

5

'excel'の場所を見つけるには、コードセクションの関数に 'excel.exe'が含まれている場合、 'App Paths'レジストリキーを照会することができます。例:

  
[Icons] 
Name: "{commondesktop}\My Excel File"; Filename: "{code:GetExcelPath}"; Parameters: """C:\MyAddin.xll""" 

.. 

[Code] 
function GetExcelPath(dummy: string): string; 
begin 
    RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\excel.exe', '', Result); 
    if Result = '' then 
    Result := 'excel.exe'; 
end; 
+0

ありがとう、それは素晴らしかったです。私は私のXP OSでそのレジストリアドレスを見ませんでした。だから私はちょうど優れたアプリケーションを得て、そしてパスを得るためにapplication.pathをしました。また、私はダミー変数を投げる必要があることを知りませんでした。私は最初にそれをせずに行い、なぜコンパイルしていないのだろうと思っていました。 – Jon49

+1

@Jon - ようこそ!必要な文字列パラメータ[here](http://www.jrsoftware.org/ishelp/index.php?topic=scriptconstants)を読むことができます。 –