問題タブ [scripting.dictionary]

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 に答える
1921 参照

excel - クラスがオートメーションをサポートしていないか、予期されるインターフェイスをサポートしていません

Excel でのレポート用に一種の CSV セキュリティ ファイルをインポートしています。ファイルの基本的な形式は次のとおりです。

レポートは、次のような一種のマトリックスです。

これを行う最も簡単な方法は、次の手順を実行することです。

  1. ファイルを開き、Scripting.Dictionary.
  2. シートを作成し、辞書に基づいてマトリックスを作成します。

明らかに、実際のファイル形式と実装はもう少し複雑ですが、これが要点です。

約 10Mb までのファイルでは問題なく動作しますが、ファイルがその数 (数千のユーザーとロール) を超え始めると、次のエラーが発生します。

これは次の行で発生します。

プロセスの下を見ると、EXCEL.EXE はエラーがスローされた時点で約 1.5Gb の RAM を使用しています。ワークブックをデバッグしてから閉じるのではなく、終了すると、次のメッセージが表示されます。

8Gb のうち約 4Gb をまだ使用できるにもかかわらず、RAM が不足していると思います。

私の質問は次のとおりです: RAM をあまり使用せずにこれを行うには、コードをリファクタリングするにはどうすればよいですか?

ファイル内のセクションは、異なる順序である可能性があります (セクション!Permissionsの前に来る可能性があるように!Users)。

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

arraylist - 辞書のキーの値である配列に追加するにはどうすればよいですか?

辞書をそのように設定した場合:

ユーザーに名前を尋ねます。

次に、ユーザーに 5 つの数字を尋ねます。

ArrayListを使用して、5 つのプロンプト番号を任意の配列に配置します。

name設定した辞書にキーを追加すると。

以前に設定した辞書にmyArrayList値として追加できますか?namemyDict

myArrayListもしそうなら、5つの数字の質問をループする場合、どのように追加または追加できますか?

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

arrays - scripting.dictionaryのVBA書き換え配列

各キーが私が作成した名前であり、各項目が 3 つのオブジェクトの配列である辞書を作成しようとしています: 文字列、整数、および SOAP 要求からの結果の配列。

次のように配列を初期化します。

そして、X x 4 の配列を返す関数「getTheRisk」があります (これは SOAP 要求です。返される結果の数はわかりませんが、結果ごとに 4 つの値が返されます)。

その結果を辞書の項目の 3 番目の要素に格納したいと思います。次のように試みます。

これはコンパイルして正常に実行されますが、配列を割り当てた後、辞書に空として表示されます。

ここに画像の説明を入力

getTheRisk 関数は、次のようなものを返します。

ここに画像の説明を入力

dict の配列を SOAP リクエストの結果に設定するにはどうすればよいですか?

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

vba - scripting.dictionary の VBA 追加キー/項目ペア

このコードは数日間機能し、辞書をうまくループしていました。ループが壊れ始めました。辞書に余分なキーがあり、それらがどこから来たのかわかりません。

次のスクリプトを使用して scripting.dictionary を作成しています。

その後、時計に見られるように、オブジェクトは空です。

ここに画像の説明を入力

次に、最初のキーとアイテムのペアを追加します。

この 1 行のコードを実行すると、次のようになります。

ここに画像の説明を入力

この 2 つの余分なキー (アイテム 2 と 3) はどこから来たのですか?! 後で私のコードで使用するので、これは問題です:

そして、空のキーを参照し始めるため、このループは壊れます。これは今まで発生していなかったようで、コードは数日間正常に動作しています。(コードの他の部分をいくつか変更しましたが、これとはまったく関係ありません。)

私がばかげたことをしている、または明らかな何かを見逃している場合はお知らせください。ありがとうございます!

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

excel - cobo値に基づいて正しいシートを識別するユーザーフォーム

クライアント情報を含むワークブックがあります。クライアントごとに 1 つのシートがあり、各シートにはクライアント固有の ID がラベル付けされています。ユーザーがコボ ボックスからクライアントを選択するユーザー フォームを起動したいと考えています。次に、適切なシートの最後の行のデータがユーザー フォームに入力されます。

同じワークブック内の他のコードでは、スクリプト ディクショナリを使用していますが、それらはすべて特定のシートの特定の範囲に関連付けられています。UserForm ですべてのシートを検索して cobo_ClientID フィールドの値と同じ名前のシートを見つけ、MAX の更新日を含む行から正しいデータ要素を取得する方法がわかりません。

以下は、私が他の分野で使用しているスクリプト ディクショナリの例です。