問題タブ [xlw]

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 投票する
1 に答える
333 参照

c++ - C ++でScripting.FileSystemObjectを使用する場合の#importの後の次のステップは何ですか?

コンテキスト:Windows 7、XLW 5.x、Microsoft Excel 2007、Visual Studio 2010、C ++

次のコードを考えると...

FileSystemObjectをインスタンス化し、そのメソッドを呼び出すにはどうすればよいですか?

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

python-2.7 - ディレクトリ内の複数の Excel ファイルを読み取り、特定のセル値を別の Excel シートに書き込む

ディレクトリにある 100 個の Excel ワークブックから特定のセル値を読み取り、そのデータを別の Excel シートの列に書き込む必要があります。エラーが発生したのは次のとおりです。

誰でもこれを成功させるのを助けることができますか?

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

c++ - 関数ウィザードに登録できなかった xll アドインから関数を呼び出すにはどうすればよいですか?

歴史的な理由から、多数の引数、正確には20を取る関数をエクスポートする xll (かなり複雑な C++ プロジェクト) があります。

これはマジックナンバーです。明らかに、Excel 2003 では引数の最大数が 30 になっています (「Microsoft Office Excel 2003 では、関数が使用できる引数の最大数は 30 ですが、ほとんどの関数はこれよりも少なくなります」)。 20 を超える関数は関数ウィザードに登録できません。

さて、ご想像のとおり、さらに 3 つの引数を追加する必要があります。わかりましたので、引数の数は最大 23 になります (少なくとも、この関数は「人間が消費する」ことを意図したものではなく、常に VBA ラッパーによって呼び出されます)。

VC++ デバッガーを使用して Excel プロセスにアタッチすると、登録時にxlretInvCountを表すエラー コード 4 が表示されます。

コンマで区切られた引数名の文字列が255 文字未満であることを確認しました。ところで、私はxlw 4を使用しています(古いバージョン、私は知っています)。

したがって、制限が 30 の場合、次の方法で関数を呼び出すことができると期待しています

ただし、ウィザードを使用しないでください。問題は、関数が登録されていないことを VBA が教えてくれることです。

では、引数が 20 個以上 30 個未満の関数を適切に使用するにはどうすればよいでしょうか。

注意: 明白なことを述べるのは控えてください。問題の真の核心はどこにあるのか、私は知っています。現時点ではリファクタリングはできません。

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

c++ - XlfOper (LPXLOPER) 型の引数を受け入れる VBA で関数を宣言するにはどうすればよいですか?

前の質問への回答で、(C++) xll で定義された関数を登録せずに呼び出す方法を見つけました。以前は XLW が提供する登録インフラストラクチャを使用しており、XlfOper 型を使用して VBA と xll の間で引数を渡していました。

C++ 関数は次のようになります。

以前のソリューションへの回答に続いて、次のような関数を直接宣言しています。

Excel プロセスにアタッチすると、関数が呼び出されていることがわかりますが、引数にガベージまたは null データが含まれています。これは、正しいデータ型に変換する方法を VBA に伝えていないことが原因だと思います。

XlfOper 引数を正しく呼び出すにはどうすればよいですか? xlw は次のように述べているため、LPXLOPER を呼び出すとうまくいくと思います。

このクラスにはデータ メンバーや仮想関数を追加しないことが重要です。xlw の設計は、クラス XlfOper が LPXLOPER/LPXLOPER12 と同じサイズであるという事実に依存しています。この仮定により、Excel から受け取った型の値がライブラリによって XlfOper のインスタンスとして解釈されます。

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

c++ - c++ で xlw によって作成された xll アドインでブーストを使用する

C++ で xlw を使用して作成している xll アドインでブースト関数を使用しようとしています。XLL プロパティ ページ --> 構成ページ --> VC++ ディレクトリのインクルード ディレクトリ セクションにブースト ディレクトリを含めました。

ただし、ブースト オブジェクト「boost::」を使用しようとすると、メンバー関数が表示されず、画面の左下に「IntelliSense: 'Unavailable for C++/CLI'」というメッセージが表示されます。

以前にこの問題に遭遇したことがあり、それを回避する方法を知っている人はいますか?

よろしくお願いいたします。

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

lnk2019 - エラー LNK2019 および致命的なエラー LNK1120

プロジェクトをコンパイルするときに問題が発生しました。この行を設定すると:

boost::shared_ptr mySwap;

問題はありませんが、これを設定すると:

boost::shared_ptr mySwap(new OvernightVsLiborBasisSwap(OvernightVsLiborBasisSwap::PayerOvernight, 1.0, scheduleOis, indexOis, dayCountOis, 1.0, scheduleLibor, indexLibor, dayCountLibor));

次のエラーメッセージが表示されます

excelFunctions.obj : エラー LNK2019: 未解決の外部シンボル "public: __thiscall ModLibNY::OvernightVsLiborBasisSwap::OvernightVsLiborBasisSwap(enum ModLibNY::OvernightVsLiborBasisSwap::Type,double,class QuantLib::Schedule const &,class boost::shared_ptr const &,class QuantLib::DayCounter const &,double,class QuantLib::Schedule const &,class boost::shared_ptr const &,class QuantLib::DayCounter const &,double,double,bool,bool,class boost::optional,class boost: :optional)" (??0OvernightVsLiborBasisSwap@ModLibNY@@QAE@W4Type@01@NABVSchedule@QuantLib@@ABV?$shared_ptr@VOvernightIndex@QuantLib@@@boost@@ABVDayCounter@4@N1ABV?$shared_ptr@VIborIndex@QuantLib@ @@6@3NN_N5V?$optional@W4BusinessDayConvention@QuantLib@@@6@6@Z) 関数で参照される "class xlw::NCMatrix __cdecl getOisLiborSwapCurve(class xlw::CellMatrix const &,class xlw::CellMatrix const &,class xlw::CellMatrix const &,class xlw::CellMatrix const &,double const &)" (?getOisLiborSwapCurve@@YA?AVNCMatrix@xlw@@ABVCellMatrix@2@000ABN @Z) 3>.\Debug\ExplainPnL.xll: 致命的なエラー LNK1120: 1 つの未解決の外部情報

オブジェクト OvernightVsLiborBasisSwap は、含まれている私自身の静的ライブラリ ModLibNY の一部です。私のコードの最初の行には以下が含まれます:

非常に奇妙なのは、コンストラクターを使用するとエラーが発生することです。詳細については、.hpp ファイルで次のように宣言されています。

.cpp ファイルで次のように定義されます。

名前空間ModLibNY {

... 誰かが問題の原因を知っている場合は、お知らせください。

ありがとう

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

c++ - XLL および EXCEL : ドラッグまたはロード

XLL を Excel にロードする際に問題があります。XLW を使用して XLL を生成し、Excel 2007 を使用しています。ファイルをスプレッドシートにドラッグすると、すべての Xll 関数を使用でき、うまく機能します。ただし、 Excel-Add in を使用してロードすると、ファイルはロードされますが、関数はありません。

Excel 2010 でも同じことを試しましたが、もっとひどいものでした。XLL ファイルをスプレッドシートにドラッグすると、XLL がテキスト ファイルとして開かれ、Excel 2007 のように機能させることができず、Excel-Addin を使用して読み込むことができますが、取得できません。 XLL 関数。

何が問題か知っていますか?

編集: 次のビデオの手順に従いました: https://www.youtube.com/watch?v=_mpw5_JW7T4

編集 2: Excel 2007 では、xll をスプレッドシートにドラッグすると機能しますが、アドイン セクションに dll がありません。

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

c++ - XLW - コンパイル済み XLL 「ファイル形式と拡張子が一致しません」

私はアドインXLW 5を構築するために使用しており、テンプレートの例Excel XLLを試しています。GNU を使用して、バージョン 4.9.2 (mingw-w64) でEchoShortコンパイルに成功しました。ただし、 を開こうとすると、次のエラーが報告されます。Template.xllMakeg++cygwinXLLExcel 2013

開いてみると、読めない文字でいっぱいのようです。xll開発者タブでアドイン マネージャーを使用して追加しようとしましたが、セルを呼び出そうとするとエラーEchoShortが発生し#NAMEます。

私は初めてですが、これを機能さXLWせることができれば、これは素晴らしいパッケージのように思えます。どんな助けでも大歓迎です。

編集:それが下にあると言及すべきだったcygwin

EDIT:VS2013でも試してみましたが、同じことが起こったので、そうではありませcygwinMinGW