私は、Wordで幅広いマニュアルを役に立つ絵で書いたWindows Formsアプリケーションを持っています。 .exeファイルに.docxを含めて、ユーザーがWordのマニュアルを開くためにアプリケーションのボタンをクリックできるようにする方法はありますか?WindowsアプリケーションにWord文書を添付することはできますか?
答えて
「添付」の代わりに、「埋め込み」を意味すると思います。
はい、埋め込みリソースとして保存することができます。 Win32のPEリソースとして
- :
は、.NET Win32プログラムのリソースを埋め込むには、3つの方法があります。これは.NETコード内には組み込まれていないので(P/Invoke(
DllImport
)が必要です)、他のプログラムがそのリソースにアクセスできることを意味します。 - エンベデッドリソースストリームは直接格納されているため、.NET Frameworkの
Assembly.GetManifestResourceStream()
APIを使用してアクセスします。これは最速の方法です(バイト配列の代わりにStream
として公開されているため、不必要にメモリにロードされません)。 Byte[]
として、.resx
/.resources
リソース内にあります。ファイルが別の抽象でラップされ、Stream
の代わりにByte[]
として公開されているため、Visual Studioでファイルをより簡単に管理できるため、これは最適ではありません。
私はGetManifestResourceStream
方法をお勧めしますので、この操作を行います。
- は、プロジェクト(ソリューションエクスプローラでWord文書を含める>>)すべてのファイル>(あなたのドキュメント、右クリックを表示インクルードファイル
- ファイルを選択し、[プロパティ]を開き、[組み込みリソース]を選択します。
- プロジェクトルートの相対フォルダパスは、リソースのドット区切りの名前プレフィックスに変換されるのでファイルが
My Project\Documents\Readme.doc
であれば、リソース名eはになります。 You can override thisですが、要素を使用して.csproj
ファイルを直接編集する必要があります。 - ビルドすると、
*.doc
ファイルが埋め込まれます。あなたのコードで
、次の操作を行います。私はそれが保証されていないとして、あなたが知っている限り、ユーザは(Wordがインストールされているということ.doc
または.docx
ファイルを使用することはお勧めしません
// use a GUID generator to create a new GUID in a string literal (do not run `Guid.NewGuid()` or `new Guid()` at runtime!) to create a globally unique filename so you don't accidentally overwrite other files
const String _myFileName = "12345.doc";
static void ShellInvokeReadmeDocument() {
String destFileName = Path.Combine(Path.GetTempPath(), _myFileName);
if(!File.Exists(destFileName)) {
Assembly assembly = Assembly.GetExecutingAssembly(); // change as appropriate
using(Stream source = assembly.GetManifestResourceStream("Documents.Readme.doc"))
using(Stream destination = File.OpenWrite(destFileName)) {
source.CopyTo(destination);
}
}
Process.Start(destFileName);
}
注意をご顧客はそれを持っています)。
Windowsのワードパッドには、必ず.doc
ファイルを開く機能がありません。 Windows 7以降では、ワードパッドは.docx
ファイルのみを開き、すべての書式設定オプションをサポートしているわけではありません.Windows Vistaおよびそれ以前のワードパッドでは.docx
ファイルを開くことができません。
互換性を最大限にしたい場合は、.pdf
ファイルを使用して、印刷ページの書式設定とレイアウトを保存するか、.rtf
ファイルを使用することをおすすめします。
このファイルがヘルプまたはドキュメントファイルを構成する場合は、.chm
ファイルを代わりに使用する必要があります。このファイルは、Windows 98以降のすべてのWindowsバージョンで構造化され完全にサポートされています。また、.chm
ファイルをWinForms 「これは何?」ボタンとツールチップ(.chm
ファイルは、Windows Vistaの後にWindowsでサポートされていないファイル.hlp
と混同しないでください)。
- 1. 作成したWord文書をOutlookメッセージに添付する
- 2. Tracking PixelをWord文書に追加することはできますか?
- 3. C#でWord '97文書を修正することはできますか
- 4. docx4jを使ってファイルをMS Word文書に添付するにはどうすればいいですか?
- 5. Node.jsとNodemailer:電子メールにPDF文書を添付できますか?
- 6. 添付されたテンプレートを解決せずにWord文書を開くには?
- 7. Word文書をpdfに変換してOutlookの添付ファイルとして送信
- 8. MS WordのVBA:文書の添付されたテンプレート
- 9. 添付ファイル付きのWord VBAメールマージ
- 10. ExcelでWord文書を開くことができません
- 11. PHPでWord文書を作成する(イメージヘッダ付き)
- 12. 単語が太字のWord文書から文を抽出することはできますか?
- 13. Windowsサービスプロセスを添付できません
- 14. Word文書をActiveWindowにインポートすることは可能ですか
- 15. Raphaelの要素にテキストを添付/バインドすることはできますか?
- 16. javascriptをXMLファイルに添付することはできますか?
- 17. MS WordのMS Word文書をC#Windowsフォームから開く
- 18. Word文書をPostgreSQLデータベースに保存できますか?
- 19. 文書に振る舞いを添付するには
- 20. Word文書は、Webアプリケーション内で作成、開く、編集できます - PHP
- 21. SendwithDocusignボタンは文書を自動的に添付します
- 22. OpenDialog.SafeFileNameで添付ファイルを送信することはできますか?
- 23. 追加することはできません添付ファイル
- 24. 電子メールの添付ファイルはアプリケーションで開きますか?
- 25. PDF文書を電子メールに添付するC#Windowsアプリケーション - 電子メールが送信されない
- 26. MS Office 365 Word文書保存イベントにアクセスできますか?
- 27. Word文書のスタイルをOffice.jsで変更できますか?
- 28. PIAを使用して独自のアプリケーションにWord文書エディタを挿入することは可能です
- 29. Android - どのように私はPythonアプリケーションでSQLiteデータベースを添付することができます
- 30. このメンバーは、グループVBA Word文書の場合にのみアクセスできます
確かに、出力ディレクトリにそのディレクトリを組み込み、そこからシェル起動時のprocess.startコマンドを使用して開く必要があります。 –
ありがとうございました。私はそれを調べます。 – Forklift
@ rory.apは正しいですが、Word文書ではなくPDFを推奨します。あなたのユーザーがそれを読むことができるより良い機会があります。私は、例えば、私が使っているどのコンピュータにもWordのコピーを持っていない。 – adv12