問題タブ [excel-interop]

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

c# - Excel が .NET でセル編集モードになっているかどうかを確認するための回避策

相互運用機能を介して Excel と対話する VB.NET で記述されたアプリケーションがあります。最終的に、セル編集モードの既知の問題に遭遇しました (背景については、 MSDNstackoverflowを参照してください)。

提案されたコードを VB.NET に変換しようとしましたが、次のエラーが発生し続けます。

元の C# コード (前述の記事から) は次のとおりです。

私の変換されたVB.NETコードは次のとおりです

Microsoft Office Object Library への (COM) 参照を追加しました

私はちょっと立ち往生しています。CommandBar オブジェクトを間接的に参照し、参照を再度追加しようとしましたが、何が問題なのかわかりません。何か案は?

0 投票する
5 に答える
6122 参照

c# - VSTO を使用し、VBA を使用せずに UDF を作成する

この質問と同様に(ただし、私の場合は VSTO SE ではありません)、Visual Studio 2005 および Excel 2003 で純粋な VSTO を使用して UDF を作成することはできないことを確認したいだけです。したがって、完全に明確にするために、私の質問は:

Visual Studio 2005 と VSTO ソリューションを使用して、VBA やその他のトリックを使用せずに Excel 2003 UDF を作成することは可能ですか?

私は ManagedXLL、ExcelDNA、Excel4Net などを認識していますが、現時点では考慮したくありません。

ありがとう

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

vb.net - Excel オートメーション - ノーと言う方法

私は、多数のスプレッドシートを1つずつ開き、いくつかのセルを読み取ってファイルを閉じるvb.netコンソールアプリに取り組んでいます。

一部のスプレッドシートには、ファイルを開いたときに Excel が再計算する数式が含まれており、スプレッドシートを閉じるときに変更を保存するかどうかを確認するダイアログ ボックスが表示されます。

メッセージ: 「変更を myfile.xls に保存しますか? 以前のバージョンの Excel で最後に保存されたファイルを開くと、Microsoft Office Excel は数式を再計算します」

そのダイアログ ボックスを自動的に辞退するにはどうすればよいですか?

ありがとう!

0 投票する
7 に答える
18790 参照

c# - C#とExcelの相互運用の問題、Excelファイルの保存がスムーズではない

Excelファイルを開いて書き込むことはできましたが、ファイルへのパスを渡してファイルを保存しようとすると、保存操作で[保存]ダイアログが表示されます。指定されたパスにファイルを完全に保存することを期待していました

コードは次のとおりです。

ここで、exportToDirectoryは「C:\ files\strings.xlsx」です。

PS:私はすでにExcelバージョンと同様の問題を確認しました。

ありがとう

0 投票する
5 に答える
19321 参照

c# - C#のExcel[2007]にハイパーリンクを追加する-Excel内でそれ自体

.NET(c#)のOffice Interopを使用して、あるシートのセルから別のシートのセルにExcel(2007以降)でハイパーリンクを追加する方法を教えてもらえますか?

例:Sheet1セルA1からSheet2セルB10へのハイパーリンク

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

.net - Excelの相互運用性:ApplicationとApplicationClassの違い

Excelの相互運用で問題が発生しています。基本的に、私がやろうとしているのは、複雑な引数タイプを使用して.NETからExcelブックのマクロを呼び出すことです。ただし、そうすることで、ApplicationとApplicationClassの間にいくつかの違いが生じ、頭痛の種になります。

ここにいくつかのコードがあります:

エクセルVBAマクロでは、complexTypeはオブジェクトにマップされます。

(興味深いことに、私は最初にこれをC#で試し、Type Mismatch例外を取得し続けました。これと、C#コードの唯一の違いは、これがVB.NETで作成されたcomplexTypeで渡され、C#バージョンがで作成されたcomplexTypeで渡されることです。 C#。まだ理解していない何らかの理由で(オブジェクトタイプの微妙な違いはありますか?)、C#は失敗しますが、VB.NETは機能します)

とにかく、上記のコードスニペットで。これは、ExcelApplication.ComObjectがApplicationClassであり、Applicationインターフェイスではない場合にのみ機能します。アプリケーションにはGetType()メンバーがありません。また、COMクラスであるため、キャストすることはできません。GetObject(..)を使用してユーザー用に開いているブックを自動的にロードする別のピースがあるため、可能であればApplicationを使用したいと思います。これは、ApplicationClassを使用すると機能しなくなります(ここでもCOMクラスをキャストできないため、キャストのみが可能です) GetObject(..)をアプリケーションインターフェイスに)。

誰かが以前にこの問題に遭遇したことがありますか?
ApplicationClassでGetObject(..)のようなものを使用する方法はありますか?
または、アプリケーションでGetType()を使用する方法はありますか?または、COMオブジェクトをキャストする方法はありますか?つまり、ApplicationをApplicationClassにキャストします

うまくいけば、私の説明は十分に明確であり、コードは私がしていることを示しています。

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

.net - .NET Sql Server アクセスが Excel Interop よりも速いのはなぜですか?

これは負荷の高い質問かもしれませんし、反対票が投じられるかもしれませんが、私は完全にイライラします.

開発で SQL Server を使用する場合、データ アクセスは高速で効率的ですが、COM を使用して Excel と通信する場合は非常に遅くなります。

ADO、ADO.NET、LINQ、Entity Framework、Astoria (ADO.NET Data Services) など、使用するデータ アクセス テクノロジに関係なく、それらはすべて Excel を自動化するよりも高速です。

Workbook のセル "A1" のデータだけが必要な場合は、1 つのデータ ポイントを取得するためだけに、Excel.Application、Excel.Workbook、Excel.Worksheet、および Excel.Range オブジェクトが必要です。

なぜ、Excel と対話するよりも SQL Server と対話する方が効率的なのですか? Excel はローカルであり、Sql Server はローカルではない可能性があります。

ティア・クリス

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

asp.net - Microsoft.Office.Interop.Excel.dll で Excel シートを作成するにはどうすればよいですか?

ASP.NET で Microsoft.Office.Interop.Excel.dll を使用して Excel シートを作成するにはどうすればよいですか?

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

asp.net - Microsoft.Office.Interop.Excel dll を使用してプログラムで Excel を開いて Excel を作成するにはどうすればよいですか?

Microsoft.Office.Interop.Excel dll を使用して、データを Excel シートに書き込みたいと考えています。私はコードをもっている:

今、パスから既存のExcelファイルを開き、提供された名前のExcelシートにいくつかのデータを入れて、プログラムから特定のパスに保存します。

既存のExcelファイルを開くことができ、追加して別の名前で保存できるソースがあれば返信してください。

よろしく、ギリッシュ

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

c# - Excel Interopを使用して、ディスクに書き込んだりクリップボードを使用したりせずにExcelグラフの画像を取得します

Excelのグラフオブジェクトへのインターフェイスでは、次の2つの方法でのみグラフを表す画像にアクセスできます。

  • 画像をファイルに保存するエクスポート
  • 画像をクリップボードに保存するCopyPicture

これらのオプションはどちらも問題があります(ファイルへの保存は非常に遅く、クリップボードへの保存はユーザーデータを破壊する可能性があります)。

これを行うためのより良い方法はありますか?私が考えることができる唯一の方法は、一時的なRAMディスクを作成し、それを「%TEMP%\ tmp_ram_disk \」の下にマウントして、ディスクへの保存オプションが遅くならないようにすることですが、その方法を確認してくださいまたはそれが可能であれば。これはC#プロジェクトです。