問題タブ [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 投票する
4 に答える
2993 参照

c++ - 「addin.XLLの形式が異なります」という問題があり、自分で作成したxllを開くことができません

VC ++ 2010で非常に単純なxllファイルを作成しましたが、使用しているExcelはExcel2007です。ライブラリには次の1つの関数しか含まれていません。

および必要なxlAutoOpen関数。dllファイルをコンパイルし、名前をxllに変更し、ダブルクリックしてExcelで開きます。すべてが期待どおりに機能します。

ただし、このファイルを別のPCで開こうとすると、Excelは次のように通知し続けます。

開こうとしているファイル「.xll」は、ファイル拡張子で指定されている形式とは異なる形式です。ファイルを開く前に、ファイルが破損しておらず、信頼できるソースからのものであることを確認してください。今すぐファイルを開きますか?

[はい]をクリックすると、ゴミが飛び出します。

また、アドインマネージャを介してロードしようとしました。この場合、ファイルを開くことはできますが、関数tsMkErr()が見つかりません。

私はすべての提案に感謝します...

ところで、私は答えとして返信を選択する方法を本当に知りません。あなたがそれを行う方法を知っているなら、私にも知らせてください:)

...今週ツールを公開する予定です...今は自分のPCでしか機能しないことに気づきました...助けてください...T_T

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

c++ - XLL関数から配列を返す方法

私は XLL を書くのが初めてです。6x1 配列を Excel に返す方法を知っている人はいますか?

以下は私の機能です(一部のコードは他の投稿からのものです):

[2013-02-23] 現在、XLL RETURN ARRAYからコードを読み取り、コードを確認しました。コンパイルはできますが、0 が返されます ...

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

excel - UDF.xllを使用してHPCグリッド上でExcelを並列化しようとしています

HPCグリッドでExcelの計算を並列化することを検討しています。Excel2007を使用しているので、XLLのUDFを介してマルチスレッド化しようとしています。これが唯一の方法です(少なくとも2007年)。

XLLをC#でコーディングしたいと思います。このスレッドが示唆しているように、 exceldnaを使用できます。

しかし、どうすればマルチスレッド化すべきか理解できません。マルチスレッド中にすべてのVBA関数をC#で書き直す必要がありますか?複数のスレッドを作成して、それぞれが1つのVBAマクロを呼び出すことはできますか?

0 投票する
0 に答える
378 参照

c++ - XLL RTD 編集の Excel UDF により、式が正しいトピックを失う

同じ dll で XLL + RTD をビルドしています。RTD は Excel から直接呼び出されるのではなく、ラッパー式を介して呼び出されます。こちらのサンプルと同様に、Excel のカスタム関数: パート V、XLL-RTD

機能は動作しているようですが、式の入力を手動で編集すると、Excel は編集された式をトピック番号 0 の式と混同します。編集された項目の ConnectData と古い項目の DisconnectData の両方が正しいトピック ID で呼び出されます。

これに対する解決策は何ですか?

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

visual-studio-2010 - VisualStudioのデバッグからExcelアドインxllをロードする

私はExcelアドインのデバッグバージョンを作成し、それをmyaddin.xllと呼びます。Excelのインスタンスを開き、それにmyaddin.xllを追加すると、期待どおりの結果が得られます。しかし、Visual Studio環境内からデバッグを押すと、myaddin.xllが開こうとし、「このプログラムをdosモードにすることはできません」というエラーが表示されます。

私が開発した他のExcelアドインについては、この問題はありません。この問題は、この特定のアドインで突然発生しています。「dosmode...」エラーは通常、何かが不足している場合に発生します。明らかに、アドインはExcelで開くため、不足しているコンポーネントはありません。しかし、Visual Studio内から開こうとすると、一部のコンポーネントが失われます。私の質問は、エラーの原因を突き止めて修正する方法です。

デバッグを押すとExcelが開き、「ファイルmyaddin.dllはファイル拡張子で指定された形式とは異なる形式です...」というポップアップが表示されます。そのポップアップにOKを押すと、スプレッドシートにゴミの文字が表示されます。 。

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

c++ - Excel xll : 関数内からの呼び出し関数の名前

Microsoft Excel SDK を使用して作成された C++ xll プログラムがあります。呼び出されているExcelユーザー定義関数の名前を教えてくれるexcel4v()またはexcel12v()関数はありますか。

たとえば、2 つの Excel ユーザー定義関数 my_func1() と my_func2() があるとします。my_func1() と my_func2() の両方によって呼び出される別の関数 func() があるとします。func() 内に、この Excel4v/excel12v 関数を配置して、どのユーザー定義関数 (my_func1() または my_func2()) が func() を呼び出しているかを判断したいと考えています。それを行う方法はありますか?

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

visual-studio - Windows 7/64 ビット用の XLL Excel アドインの作成 (Windows XP/32 でのクロスコンパイル)

私は熟練した Windows プログラマーではありませんが、長年にわたって 32 ビット Windows XP / Excel 用の XLL アドインを作成し、維持してきました。Windows 7/64 ビット バージョンを作成したいのですが、問題が発生しています。Generic.xll のサンプルを動作させることさえできません。

これが私が行ったことの最も単純なバージョンです-申し訳ありませんが、これは長くて衒学的です。

Visual Studio 2010 Professional がインストールされている Windows XP/32 マシンで:

  • Microsoft Excel 2013 SDK をダウンロードしてインストールしました。

  • スタート メニュー - 「Visual Studio x64 Cross Tools コマンド プロンプトを開く (2010)」

  • タイプを設定=リリース

  • SET PLATFORM=x64 // とにかくこれはあらかじめ設定されていたと思います

  • cd C:\2013 Office System Developer Resources\Excel2013XLLSDK\SAMPLES\FRAMEWRK

  • nmake // エラーなし

  • cd C:\2013 Office System Developer Resources\Excel2013XLLSDK\SAMPLES\GENERIC

  • nmake // エラーなし

  • 結果の C:\2013 Office System Developer Resources\Excel2013XLLSDK\SAMPLES\GENERIC\​​x64\RELEASE\GENERIC.xll を、Windows 7/64 コンピューターからアクセス可能なネットワーク フォルダーにコピーします。

Windows 7/64 コンピュータの場合:

  • エクセル2013を起動

  • ファイル - オプション - アドイン - Excel アドインの管理 - 参照、Generic.xll を含むネットワーク フォルダーに移動し、それをクリックします。

  • Excel が Generic.xll を標準フォルダーにコピーできるようにします。メッセージなしでサイレントに読み込まれます (Generic.xll が読み込まれたというメッセージは含まれません)。

  • Generic.xll の機能は表示されません。

  • Excel を閉じて再度開く - 再度開くと、「'GENERIC.xll' のファイル形式と拡張子が一致しません。ファイルが壊れているか安全でない可能性があります...」というメッセージ ボックスが表示されます (「はい」と答えると、テキスト ファイルのように読み込まれ、スプレッドシートに XLL のバイナリ コードが表示されます。)

以前の (Windows XP/32) XLL の経験に基づくと、このメッセージは、必要な DLL の不足を含め、ほとんどすべてを意味する可能性があります。そう、

Windows 7/64 コンピュータの場合:

  • Microsoft Visual C++ 2010 x64 再頒布可能パッケージ - 10.0.30319 をインストールします。影響なし。

  • Microsoft Visual C++ 2012 再頒布可能パッケージ (x64) - 11.0.51106 をインストールします。影響なし。

  • 「Steve P. Miller によって開発された Win64(x64) バージョン 2.2.600 用の Dependency Walker」を実行します。

  • ファイル - 開く - Generic.xll

  • 見つからないことを示しています:
    -- XLCALL32.DLL // XLL の動作に関する Windows XP の経験から典型的なもの
    -- API-MS-WIN-CORE-COM-L1-1-0.DLL
    -- API-MS-WIN -CORE-WINRT-ERROR-L1-1-0.DLL
    -- API-MS-WIN-CORE-WINRT-L1-1-0.DLL
    -- API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1 -0.DLL
    -- API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
    -- API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL
    -- DCOMP.DLL
    - - IESHIMS.DLL // XLL の動作に関する Windows XP の経験から典型的なもの

だから、今私は困惑しています。64 ビットに問題があると思っていましたが、Windows 7 に問題があるのではないかと考え始めています。

ヘルプ?

ありがとう、

ティム

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

c - Excel が xll ファイルを認識しない

このガイドに従って、コードブロックと mingw を使用して最初の xll ファイルを作成しました http://support.microsoft.com/kb/178474/en-us

問題は、xll ファイルとして名前が変更された dll ファイルが Excel で認識されないことです。

リンクしたガイドのポイント10の意味がわからないので、それが私の問題かもしれません。defファイルはコンパイラの出力だと思いました。ガイドがそれらが入力であることを示唆しているのはなぜですか?

それらが入力の場合、def ファイルを入力として受け取るようにコードブロックを設定するにはどうすればよいですか?

ありがとうございました。

[編集] 解決した問題: 誰かが同じ問題に遭遇した場合、問題は間違いなくエクスポートされた関数の命名規則でした。Def ファイルを適切に使用することで、問題は解決されます。

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

c - xll アドインを開発するための MSDN ドキュメントがありませんか?

すべての C API XLM 関数の完全なドキュメントを探すのにかなりの時間を費やしましたが、うまくいきませんでした。

それらのいくつかを説明するこのページを見つけました: http://msdn.microsoft.com/en-us/library/office/bb687910%28v=office.12%29.aspx

しかし、たとえば、xlfAddMenu を理解して使用したかったのですが、MSDN で説明しているページが見つかりません。

利用可能なドキュメントがあるかどうか知っていますか? どうやらそこにたどり着くのはそれほど簡単ではありません。