問題タブ [office-automation]

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

c# - テンプレートを介してWinFormアプリから生成されたExcelファイルは「InVisible」である場合があります

テンプレートからExcelファイルを生成するためにVSTOを使用するWinFormアプリケーションがあります。

ときどき(頻繁に)ファイルが開きますが(カーソルキーと数式およびセルの変更を使用できるため)、ファイルは表示されません。ファイルを保存して開いても、ファイルは表示されません。

ユーザーはExcel2007を使用しており、ほとんどすべて(6〜8)のユーザーがこの問題を経験しています。

私が彼らに与えた(一時的な)修正は、「すべて配置」を選択することです。これが完了すると、ワークシートが表示されます。

私はウェブ上でこれに対するいくつかの原因と修正を見てきました。Excel 2003にはあったが、Excel2007にはなかったテンプレートでグラフィックを使用することからのすべて。

テンプレートはかなり「シンプル」です。数式、フォント、色があり、それだけです。

テンプレート(およびWinFormアプリケーション)は、ClickOnceを介してユーザーに展開されます。

「ThisWorkbook.cs」ファイルのコードは次のとおりです。

「Sheet1.cs」ファイルのコードは次のとおりです。

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

.net - .net オフィス オートメーション プロジェクトで保護された問題

プロジェクトで保護されているExcelファイルを開いています。vba モジュールを追加できません。

しかし、このファイルで vba モジュールを実行する必要があります。どうやってやるの?

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

c# - ASP.NET-Outlookテンプレートを作成し、ブラウザーに書き込みます

この質問の形式は、mailto:形式のアンカータグを使用してOutlook電子メールの本文と件名を事前入力する方法についての提案とともに、ギジリオン回質問され、回答されました。

私は絶対にその方法についての提案を望んでいません。

私が見たいのは、サーバー上のOutlook自動化コードの例です。Outlookテンプレートファイル(.ost?)を作成し、バイナリがそれをブラウザーに書き込みます。ブラウザーは拡張子を認識し、テンプレートを使用してOutlookを起動します。

これは内部的なものであり、ユーザーは間違いなくOutlookを使用できます。

0 投票する
13 に答える
36257 参照

excel - Windows サービスで C# から EXCEL.exe プロセスを強制終了する

Microsoft.Office.Interop.Excel.Application オブジェクトを介して Excel スプレッドシートを開く Windows サービスがあります。

ワークブックでの作業が完了した後も実行されている EXCEL.exe プロセスを強制終了したいと考えています。

私は成功せずに次のことを試しました...

Windowsサービスを介してこれを行う方法について、誰かアイデアがありますか?

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

delphi - Delphi を介して Word アプリケーションのフッター テキストを置き換えることはできません

フッターのテキストを置き換えようとしています。次のコードを使用して、通常のコンテンツ (本文) を置き換えることができますが、フッター/ヘッダーのコンテンツを置き換えることはできません

どんな助けでも大歓迎です。前もって感謝します

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

web-services - Interop.Word の Application オブジェクトをインスタンス化すると、Web サービスがハングする

Interop.WordWord文書で何らかの操作を行うためにバージョン12を使用しています。私の WebService は .Net v4.0 に組み込まれています。以下に示すように、コードは Application オブジェクトのインスタンス化から始まります。

コードの後半で、それを使用して Word Doc を作成します。

これはすべて Web サービスに実装されていますが、サービスは webmethod 内で Application オブジェクト自体をインスタンス化する際にハングします。

私の開発環境では Web サービスは正常に動作しますが、IIS 6.0 を使用している Windows Server 2003 に Web サービスを展開すると、この問題が発生します。

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

c# - Excel (オフィス) と C#

現時点では、多くのVBA-Modulesで構成されるExcel-Applicationを維持する必要があります。私にとっては、レガシー システムのような感触があり、VBA は最近の言語のように見えます。C#および.NET ベースの Office アプリケーションへの移行について考えるのは理にかなっていますか? 一般に、.NET を使用した Office の自動化について、このような移行のそれぞれの長所短所は何ですか? それとも、VBA は Office アプリケーションや Office オートメーションを開発するための優れた方法ですか? ところで、私は経験豊富な .NET 開発者です。

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

c# - C#でExcelシート名の名前を変更します

VS 2008 / C#。

スプレッドシートのファイルパスを渡すときに、シートの名前を変更する必要があります。

ExcelシートのSheet1の名前を「ABC」に変更する方法。

ExcelシートをSQLデータベースにエクスポートします。Excelシートのレコードは、エンドユーザーが手動で編集および更新します。列値は異なるデータ型を持つことができます。

デフォルトでは、スプレッドシートにはSheet1、Sheet2、Sheet3の3つのシートがあります。

エンドユーザーは、通常、Sheet1で作業します。Sheet1をSQLデータベースにエクスポートするのに役立つ、このSheet1の静的な名前を維持する必要があります。

Sheet1の名前をABCに変更した場合、同じ名前を維持しています。デフォルトのシートをそのようにエクスポートすることはできません。なぜなら、エンドユーザーは自分の名前を変更したり、デフォルトの名前を付けたりする可能性があるからです。

混乱を避けるために、スプレッドシートのSheet1の名前を変更することにしました。

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

winapi - キャプションを決定するためのサービスのウィンドウハンドル(サービスから作成された)の列挙

私は、Excel自動化を使用するアプリケーション(Xと呼びます)を実行する必要があるサービスを持っています。

多くの場合、Excelを自動化するときのアプリケーションXは、Excelにダイアログを表示させます。ダイアログが表示される内容と理由は重要ではありませんが、残念ながらそれは私の手に負えません。

そのダイアログをExcelで閉じられるようにしたいだけです。

もちろん、これはコードがサービスとして実行されない場合に簡単に実行できます。問題は、ダイアログが開いているかどうかを判断するためにウィンドウを列挙するときに、win32ウィンドウ呼び出しがハンドルに対して0を返すことです。サービスが分離して実行され、結果が0になると予想されるため、これがなぜであるかを理解しています。

また、インタラクティブデスクトップが有効になっているローカルシステムでサービスを実行することもできません。

ExcelプロセスのスレッドでGetThreadDesktopを使用し、そのデスクトップを開いてそれらのウィンドウを列挙したいと思っていましたが、サービスから実行するとapiも0を返します。

これに関してはたくさんの質問がありますが、ほとんどはユーザーとの対話のためにサービスからダイアログを表示したいということです。私はそれをしたくありません。ダイアログを見つけて閉じるだけです。

誰かがウィンドウを列挙してキャプションを返すことを発見した、これに対する巧妙な回避策はありますか?

ノート:

  • アプリケーションXは私の制御不能です。
  • 非対話型環境ではオフィスオートメーションがサポートされていないことを私は知っています。
  • とにかく、ログインしているユーザーのデスクトップを操作しようとはしていません。
0 投票する
1 に答える
7984 参照

c# - Microsoft.Office.Interop.Excelが見つかりません。助けてください

私のc#プログラムでは、wrtieを使って優れたものを作ろうとしています。Microsoft.Office.Interop.Excelクラスを使用して、インターネット上でメソッドを見つけました。しかし、Microsoft.Office.Interop.Excelを使用すると、Interopクラスが見つからないと表示されました。私のプロジェクトにはすでにMicrosoftOffice12.0オブジェクトライブラリの参照があります