問題タブ [comobject]

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

parsing - PowerShell で文字列からすべての改行を削除するにはどうすればよいですか?

これは、メールを解析するために使用しているコードです。それらが特定の日付に一致する場合は、それらを他のメールのリストに追加し、それをフラット ファイルにします。

私が遭遇する問題は、replace ステートメントが$message.Body.Replace("`n",", ")実際には改行を削除せず、ファイルが適切に作成されないことです。本体部分の中身が全て一行になっていることを確認する方法はありますか?

オブジェクトが文字列であることを確認した$message.bodyので、これが機能しない理由はわかりません。

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

c# - C#でPowershell COMオブジェクトにアクセスしますか?

PowershellスクリプトをC#に変換する必要があります。

Powershellスクリプトは、Windows展開サービスのCOMオブジェクトにアクセスします。

C#でこれらのCOMオブジェクトにアクセスすることは可能ですか?

Visual C#で対応するCOMオブジェクト参照が見つかりませんでした。System32からC#プロジェクトの参照として追加しようとしましwdsmgmt.dllたが、機能しませんでした。そうでなければ、私はかなり困惑しています。

編集:

コメント1への回答: C#からCOMオブジェクトにアクセスするための最良の方法

問題のCOMオブジェクトはリファレンスにリストされていません。私はそれを見逃さないようにリストを約5回調べました。そのCOMオブジェクトをC#のCOM参照リストに表示する方法はありますか?

コメント2への回答(機能しなかったもの):wdsmgmt.dllを追加しようとすると、次のエラーが表示されます。

Please make sure the file is accessible, and that it is a valid assembly or COM component.

このファイルにはアクセスできますが、C#から見ると有効なCOMコンポーネントではないようです。

レジストリでWdsMgmtを検索すると、COMオブジェクトが少なくとも何らかの形で存在していることがわかります。

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{CD583E47-B079-4025-A799-5F951D016D3E}

多分言い換えられた質問は次のようになります:

Powershellで名前がわかっている場合、COMオブジェクト参照をC#に追加するにはどうすればよいですか?

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

excel - 切断されたコンテキスト Excel Com オブジェクト

マルチスレッドアプリケーションがあります。アプリケーションのプロパティの 1 つはレポートです。

ユーザーは、1 年間のデータを毎日取得できます

データベースをフェッチし、結果をリストに取得します。次に、Excel を (com オブジェクトとして) 使用します。

Excel を開き、リストからセル値の追加を開始します。

これらのプロセスが突然進行している間に、次のメッセージが表示されます。

エラー

Excelレポートのコードは次のとおりです。

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

python - Python から OneNote にファイルを送信する

Python から Microsoft OneNote にファイルを送信することはできますか? (おそらくその COM オブジェクトを使用していますか?) 特定のノートブックやページに保存する必要はありません。保存先を選択できるウィンドウを OneNote にポップアップ表示させたいだけです。

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

windows - 場所名のような特性で特定の Windows comObject を閉じるにはどうすればよいですか? パワーシェル

複数のファイルをサーバーのグループにコピーするスクリプトを実行しようとしています。言葉の後、別のディレクトリで別のスクリプトを実行して、それらが移動されたことを確認しました。使用する必要がある次のフォルダーを呼び出すことができます。

しかし、特定の comObject を閉じるにはどうすればよいでしょうか? 次を使用して、すべての comObjects を閉じることができます。

ただし、開いている場合は IE を含むすべての Windows が閉じます。LocationName や LocationURL などの特定のパラメーターを使用して閉じることはできますか?

ありがとう!

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

powershell - Powershell がデータを Excel ファイルに書き込む

私がここで達成しようとしていることについて助けを得たいと思っています。

$ActiveUsers と $InactiveUsers の 2 つの配列があり、それぞれに 4 つのフィールドと次のデータがあります

今、$ActiveUsers から各行を取得して、作成中の Excel ファイルに追加しようとしています。$InactiveUsers の各行に対して同じことを行い、それらを新しい Excel ファイルに追加しました

2 つの配列を 2 つの Excel ファイルに追加する代わりに、要件にわずかな変更がありました。すべてを 1 つの Excel ファイルに入れる必要があります。私がすべてを書いている1つのExcelファイル。

$InactiveUsers から取得した行を強調表示して、2 つの配列を同時にループし、行を 1 つの Excel ファイルに書き込む方法はありますか? 以下、今まで書いたもの

$InactiveUsers について上記を繰り返しました。

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

php - Com オブジェクト作成時の PHP 致命的エラー

データをフェッチするために、dll フォームのウィンドウ用に記述されたアプリケーション ライブラリを使用して PI データソースにアクセスする必要がある php Web アプリケーションがあります。PHP は非ポリモーフィズムであるため、ポリモーフィズム ライブラリを使用するために C#-Dotnet で記述されたラッパーを使用しています。

問題: PHP は、ログを残さずに、com オブジェクトの作成時にクラッシュします (ほとんどの場合、2 回目のリクエストごとに)。私の考えでは、おそらく既存のphpコードの何かが間違っていて、この致命的なエラーが発生する可能性があり、多くのデバッグと試行の後、コードを次のように単純化しました。

変数 $connection は決して使用されません! それでも2回ごとにphp-crashが発生します(Windowsエラーログに1000-Errorと1001-Informationが記録されています)

だから私はさらに多くのcomオブジェクトを生成しようとしました..

50 個すべてが問題なく生成され、2 回目の試行ごとに php の致命的なエラーが発生しました。50 個すべてを使用しようとしましたが、すべて問題なく PI システムから値を読み取りました。

変数の設定を解除してgcも呼び出し、C#からデストラクタを呼び出し、C#からコンストラクタをチェックしようとしました(ライブラリのオブジェクトを作成するだけで例外はありませんでした。オブジェクトは正常に作成され、それでもphpがクラッシュしました)が、問題消えませんでした。

それで、何か考えはありますか?私は何か間違ったことをしていますか(2回ごとに値を適切に読み取っているのに、どうして間違っているのでしょうか)?

テストされた環境:

  • OS:Windows Server 2008 R2 64Bit / Windows 7 Prof SP1 32/64Bit
  • PHP: 5.3.9/5.3.14/5.3.21/5.4.11
  • WS: Apache と IIS (いくつかの異なるバージョン)

更新: 問題は最終的に C# コードにありました。COM オブジェクトを正しく閉じたり削除したりできない GC への呼び出しがあり、その結果、C# がハングし (これも例外なく)、PHP の致命的なエラーが「トリガー」されました。

回答ありがとうございます。

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

powershell - パラメータ付きのPowershell comオブジェクト

Internet Explorer インスタンスを com オブジェクトとして開き、操作できるようにする powershell スクリプトを作成したいと考えています。問題は、IE が新しいセッションとして実行されていることを確認するために、パラメーターを指定して実行する必要があることです。

渡す必要があるパラメーターは -noframemerging です。これを渡す必要があるため、各インスタンスは新しいセッションになります。インスタンスを開始するために使用したコードは次のとおりです。

IE で複数のオブジェクトを新しいセッションとして作成できるようにする方法を誰かが教えてくれたら、それは素晴らしいことです。

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

c# - 運用完了後にExcel*32の処理を解放する

私のアプリケーションとExcelファイルの両方が閉じられるまで、私のEXCEL * 32プロセスが使用されたままになる理由を理解しようとしています。作成後に何か不足しているに違いありません。アプリケーションがこのコードの後に​​ EXCEL *32 リソースを保持しているようです。エクスポート操作が完了した後に「手放す」ようにするための提案はありますか?

また、新しく作成した Excel シートを閉じたくありません。実際の .net アプリケーションに関連して使用されているリソースを解放したいだけです。

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

c# - C# で作成されたワークシートからドキュメント レベルを取得する C# Excel

その場で作成されたExcelシートにコンボボックスまたは実際のフォームコントロールを追加しようとしています。C# で Excel ワークブック プロジェクトを作成するときに Excel シートにコンボボックスを追加でき、ドキュメント レベル (Sheet1) で Controls.AddComboBox 関数にアクセスできました。

thisこのコードは、ワークブック プロジェクトを作成するときは正常に機能しますが、その場で Excel シートを作成するときは次のようになります。図 2

WorkSheet (ws) に移動して「controls.AddCombobox」を取得できません。ワークシート (図 2) をクイックウォッチに入れると、System.___Comobject が他のプロジェクト (図 1) の「this」オブジェクトを返し、値 (ExcelWorkbook2.Sheet1) が返されます。c# で生成されたワークシートで使用する WorkSheetBase としてキャストされた Controls.AddCombobox にアクセスするにはどうすればよいでしょうか (図 2)。ありがとう