タグ付けされた質問 「office-interop」

15
.NETでMicrosoft.Office.Interop.Excelを使用するには、どの参照が必要ですか?
C#を使用してExcelファイルを操作/自動化することに興味があります。 Webを閲覧した後、VSTOを見つけましたが、Visual Studio Express Editionではそれを使用できないため、使用できません。 ほんの数分前に、この名前空間をコードで使用しているこのサイトの質問に気付きました。 Microsoft.Office.Interop.Excel それで、私が使用する必要があるのは必要な参照を追加することだけなのか、そうであればどの参照を追加するのかと思いますか? 更新 「Primary Interop Assemblies」を承認済みの回答としてインストールしましたが、何らかの理由で「.NET」の下の「参照の追加」ダイアログにまだ表示されていませんが、GACには存在しています。 そのため、「参照」を使用して参照を追加し、Microsoft.Office.Interop.Excel.dllGACフォルダーに配置しました。 しかし、GACからの参照の追加に関してこのサイトで同様の質問を探していると、これは推奨されないようです。

3
Excelカスタム関数ツールチップの探求
この質問はされてい尋ねた 前に、しかし、それぞれの時間は受け入れ答えは単純に使用して関数の説明を提供するための辞任であるApplication.MacroOptions(VBA6)(VBA7を)、それは私の問題を解決していませんので、この情報は実際には、ツールチップとして表示されません。 目標 私たちすべてが望むのは、何らかの方法(VBA、VSTO、またはCOMアドイン)でカスタム関数を定義でき、ユーザーに関数とそのパラメーターのポップアップ/ツールチップの説明を提供できることです。すべての組み込みのExcel関数に対して、インラインまたは数式バーに表示されます。 このニーズに対する広く受け入れられている答えは、カスタム関数は不可能であるということですが、私はその信念に挑戦したいと思います。 問題 現在、私が誰もが見ている最高の方法は、関数を定義することです(多くの場合、上記のMacroOptions呼び出しを使用)。そのため、関数ダイアログ(数式バーのfxボタン)を呼び出すと、関数とパラメーターの説明が次のように表示されます。 ご覧のとおり、これは多くのパラメーターを持つ複雑な関数です。ユーザーがこの「関数の引数」ダイアログとそれを表示する方法に気づかず、代わりにExcelの標準のツールチップに精通している場合は、数式名のみが表示され、追加のヘルプは表示されません。 必要なパラメーターを正しく提供する機会がありません。(もちろん、ドキュメントを読んでいない限り、ユーザーはこれを行いません。) これで、パワーユーザーはCtrl+ Shift+ Aと入力することで、次のような関数パラメーターのオートコンプリートリストが付与されることを知っているかもしれません。 しかしもちろん、上記と同じ問題があります。つまり、標準のExcelユーザーは最初の画像のデフォルトの動作にしか慣れず、おそらくその機能を学んだことがないということです。 この時点で、これで十分ではなく、すべての組み込み関数に必要なもの、つまりユーザーに関数の使用方法を教えるインラインツールチップが必要であることは明らかです。 いじめる 最初は、ネイティブのExcelアプリケーション関数を除いて、これは単に不可能であると私は確信していたかもしれません。アドインとVBAは拡張機能であり、このツールチップは単に拡張できない場合があります。しかし、その理論は、Analysis Toolpakアドインの存在によって挑戦されます。確かに、これはMicrosoftに組み込まれていますが、ANALYS32.xllは、VB、C、C ++、およびC#で作成できるものと同様に、スタンドアロンのXLLアドインです。案の定、このXLLがアプリケーションにロードされたときに機能し、それを利用できるようにすることをネイティブExcel関数の同じツールチップを持っています。 この情報が何らかの形でこのXLLファイルにエンコードされてExcelに渡された場合、独自のアドインでそれを複製する方法はありますか?ここで、逆コンパイルについて少し学び始め、分析ツールパックで行われていることをリバースエンジニアリングできるかどうかを確認します。 あなたが助けることができる方法 この問題について公開されているすべての情報を調査したことはほぼ間違いありません。誰かがこれを助けるかもしれない私が知らない何かを知っているなら、遠慮なくご相談ください。私はリバースエンジニアリングされたコンパイル済みのdll / xllに非常に慣れていないので、誰かがAnalysis32.xllのローカルコピーをポップオープンしたいと感じた場合、カスタム関数の定義で何が起こっているのかを理解するために、私は多くの義務を負うことになります。それ以外の場合は、行き止まりをすべて突き止めて、見つけたものを報告するまで、自分でこれを掘り下げていきます。

8
Excelシートから日時値を読み取る
Excelシートから日時型の値を読み取ろうとすると、double値が返されます。たとえば、'2007-02-19 14:11:45.730'このような値を読み取りたい場合は、double型の値を取得しています。さらに、タイムスパンを使用してこのdouble値を変換していますが、正常に完了しません。この値だけを取得しているので'2007-02-19 12:00:00 AM' 、最初の値とまったく同じ日時の値が必要です。私のコードは次のようなものです:- TimeSpan datefromexcel = new TimeSpan(Convert.ToInt32((range.Cells[rCnt, cCnt] as Excel.Range).Value2), 0, 0, 0); DateTime inputdate = new DateTime(1900, 1, 1).Add(datefromexcel); arrrow2[cCnt - 1] = inputdate.ToString(); 助けてください!!!ありがとう。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.