問題タブ [xll]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
2628 参照

c++ - XLL アドイン開発 - Excel SDK 関数の問題

現在、Excel SDK 2010 を使用して Excel 2010 アドイン (.xll) を開発しています。残念ながら、Microsoft からのドキュメントはほとんどありません (または、まだ見つけていないだけかもしれません)。アドインが Excel 内に読み込まれ、そのメニューが表示され、メニューから関数を呼び出すことができるようになりました。これは実行されます。その中で、すべてのシート名を収集しようとしましたが、関数を呼び出すたびに結果が異なります。正しいシート名が返されますXLOPERが、「奇妙な」文字の変化に囲まれています。

問題のコード:

0 投票する
1 に答える
758 参照

c++ - Excel XLL で配列を返す

Excel 2010 と Excel 2010 XLL SDK を使用しています。私はこの機能を試します:

意味:

配列サイズが 4 の場合xlValues、4 つの値を Excel に返しますが、3 番目の値は TRUE (??) です。配列サイズが 10 の場合xlValues、Excel に #NUM エラーが返されます。配列をExcelに返す正しい方法は何ですか?

PS私はこの記事のようなテンプレートを使用しますhttp://blogs.msdn.com/b/andreww/archive/2007/12/09/building-an-excel-xll-in-cc-with-vs-2008.aspx

0 投票する
2 に答える
363 参照

c++ - XLL 関数の引数の署名の種類

この例は、C++ を使用して Excel 用の XLL をビルドするために使用されています。2 つの double 引数を取り、文字列を返す独自の関数を作成しました。

関数定義:

P = 100,345 T = 200,567 の場合、出力に P = 2061584302 および T = -584115552 が表示されます - debugPrintf 関数を使用しました。関数の引数が長い場合:

および関数シグネチャ「UJJ」 P = 100,345 T = 200,567 を試してみると、P = 100 と T = 201 が得られます。

では、どの権利関数署名を使用する必要がありますか?

0 投票する
3 に答える
770 参照

c++ - XLL 関数からユニコード文字列を返す

VS 2010 で Excel 2007 XLL SDK を使用して Excel 2007/2010 XLL を作成しています。関数はさまざまな文字列を返すことができます。

文字列値が Excel に返されると、その値は 'Ошибка диапазона параме' で、すべてが最初の文字列ではありません。しかし、文字列の先頭に「\ 027」を付けて、長さ os 文字列を教えています。どこが間違っていますか?

編集1

しかし、私はこれを持っています:

ここに画像の説明を入力 についてどう思いますか?

編集2 :私の関数署名タイプ:

0 投票する
2 に答える
11705 参照

deployment - Excel XLL アドインを展開し、アドインを Excel に自動的に登録する方法

ExcelDNA と C# を使用して Excel XLL を開発しました。展開のテストを開始したいところですが、実際に機能する手順を提供する多くの情報が見つかりません。

私のプロジェクトは、ExcelDna を参照するクラス ライブラリとして開発されました。.dna ファイルには、すべてのリソースをパックされたバージョンの XLL (つまり、Pack="true" 属性) にパックする以下のコードがあります。

パックされた XLL をパス内のターゲット マシンに展開したいと考えています。

XLL を Excel に自動的に登録するには、ユーザーが使用している Excel のバージョンに応じたレジストリ キーを追加する必要があります。

たとえば、私のコンピューター (Excel 2007 32 ビットを実行している Windows 7 64 ビット) では、次のパスにレジストリ キーを追加する必要があります。

キーは、名前が OPEN (または OPEN1、OPEN2 など) で、値が /R "ExcelXLL-packed.xll" の REG_SZ 型になります。

しかし、2つの問題があります。1 つ目は、ユーザーが正しいパスを取得する必要がある Excel のバージョンを決定することであり、2 つ目は、作成する必要がある正しい OPEN バージョンを決定することです (たとえば、ユーザーが既に OPEN、OPEN1、および OPEN2 を持っている場合、私はOPEN3 キーを作成します)。

Setup and Deployment プロジェクトまたは InstallShield LE プロジェクトのいずれかを使用してインストールを行おうとしていますが、その方法がわかりません。誰かがこれを行う方法またはそれを行うより良い方法を知っていますか?

編集1:

私はこれについて多くの調査を行い、いくつかの Windows インストーラーを見てきました。

Package and Deployment および InstallShield LE では、インストーラー クラスをクラス ライブラリに配置し、プロジェクトの出力をインストールにバンドルすることで、インストール/アンインストールを機能させることができます。このアプローチでは、インストーラー クラスを使用してレジストリ キーの挿入/削除を処理します。私が抱えている問題は、ユーザーが新しいインストールを実行する前に最初にアンインストールする必要があることです (更新機能はありません)。

Setup Factory デモ バージョンをダウンロードし、インストール/更新を実行できますが、フレームワーク チェックを実行できません (デモには同梱されていません)。また、アンインストールは失敗します (ただし、もう少し調査すれば、これを機能させることができるかもしれません)。

WiX インストーラーの使用に興味がありますが、WiX を使用してデプロイを実行する方法のサンプルがあるかどうか知りたいです。また、インストーラー クラスを使用する必要があるかどうか、または HKCU\Software\Microsoft\Office[Version].0\Excel\Options の下にある OPEN[n] キーの検索を処理する別の方法があるかどうかも知りたいです。プロジェクト出力を使用してインストーラー クラスを有効にする場合は、2 つの個別のターゲット ディレクトリが必要です (基本的なプロジェクト出力用に Program Files の下に 1 つ、パックされた XLL 用に %appdata%\Microsoft\AddIns の下に 1 つ)。

どんな助けでも大歓迎です。

ありがとう、

リー

0 投票する
4 に答える
2230 参照

c++ - Excel に読み込まれた dll 内の Excel.Application IDispatch* の取得

Excel.Application IDispatch*ロードされたExcelプロセスに関連付けられたポインタを取得する方法を知っている人dllはいますか?

ここで重要なことは、プロセスはexcel.exeであり、必要なポインターはそのプロセスに属している必要があるということです。Excel はその最初のインスタンスのみを登録するため、Running Object Table を使用しても問題はありません。

低レベルの COM トリックがあることを願っていますが、私はその分野の専門家ではありません。

0 投票する
1 に答える
298 参照

c++ - ある XLL のアドイン関数を別の XLL から呼び出す方法

XLL+ ユーザー定義関数 sum1 を作成しました。このアドインを追加すると、Excel でスムーズに実行できます。しかし今、私は別の XLL、例えば sum2 を構築しています。この add の sum1 を sum2 で呼び出せたらいいのにと思います。sum1 と sum2 は異なる XLL にあるため、直接呼び出すことはできず、それを行うにはいくつかのコードが必要です。以前にこの問題に遭遇した人はいますか?それを行う良い方法はありますか?

問題をグーグルで調べたところ、評価とUDF関数によって行われる以下のコードが見つかりました。しかし、コードは非常に古いようで、Visual Studio 2005 には適していますが、2012 には適していません。実行すると #Name エラーが発生する可能性があります。

誰かがこれについて私を助けることができれば本当に感謝します. どうもありがとうございました。

0 投票する
3 に答える
595 参照

c# - セルを選択すると計算が停止する Excel 2010 の機能/バグを無効にするにはどうすればよいですか?

私は、xll アドインの助けを借りて、データを更新しようとしている Excel シートに取り組んでいます。Ctrl+Alt+F9 を押して計算を開始しましたが、キーを押すかセルを選択すると計算が停止します。この機能またはバグを無効にする方法はありますか?

これは、Excel 2003 では発生しません。