質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

1回答

1583閲覧

vb.net プロセス管理 プロセスID取得

toukyoutaro

総合スコア13

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2020/06/24 01:35

編集2020/06/24 02:50

お疲れ様です。

現在ビジュアルスタジオ2019のwindowsフォームアプリケーションを使用して開発をしています。

Webフォーム内ででエクセルを読み込んだり書き込んだりするのですがリソースを解放してもバックグラウンドから消えなくて困っています。

なのでリソースの解放ではなく直接バックグラウンドプロセスを消す処理を行いたいと思っているのですが他にもエクセルを開いている状態でそのWebフォーム内で開いたプロセスだけを削除したい場合プロセスIDを指定して削除するのでしょうか?

カレントプロセスで取得したところアプリ自体のプロセスを取得してしまうのでWebフォームで使用したエクセルのプロセスを取得するにはどうすればよいでしょうか?

ご回答よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gentaro

2020/06/24 01:45 編集

> windowsフォームアプリケーションを使用して開発をしています。 と > Webアプリ内で でいきなり矛盾しており、WinFormsアプリなのかWebアプリ(is何?)なのかわかりませんが。 「エクセルを読み込んだり書き込んだり」ってのがどういう方法でやってるのかもわかりませんし、「リソースの開放ではなく」っていう舵の切り方も謎です。(リソースはちゃんと開放しよう) ExcelのプロセスIDを取得したいのなら、ググればすぐに https://living-sun.com/ja/vbnet/841590-how-do-i-get-the-process-id-from-a-created-ldquoexcelapplicationrdquo-object-vbnet-excel.html こういう記事も出てきますが、これではご不満なのでしょうか。 何をどうやってるのかがわからないので、回答のしようがないです。
YAmaGNZ

2020/06/24 01:47

あきらめずにリソースを開放してください。
toukyoutaro

2020/06/24 02:15

ご回答ありがとうございます。 すみませんWebフォームでした。 そのフォームの子プロセスのプロセスIDを取得する方法はあるでしょうか?
退会済みユーザー

退会済みユーザー

2020/06/24 02:30 編集

> すみませんWebフォームでした。 質問は編集できますので書き直してください。あと、Web アプリが何か(ASP.NET Web Forms?)も質問欄に追記してください。
退会済みユーザー

退会済みユーザー

2020/06/24 03:38

下の部分、直ってませんが? > 現在ビジュアルスタジオ2019のwindowsフォームアプリケーションを使用して開発をしています。 あと、Web アプリが何か(ASP.NET Web Forms?)も質問欄に追記してくださいとお願いしましたが、やってもらえませんか?
toukyoutaro

2020/06/24 06:15

失礼しました。 .net framwork windows form という書き方でよろしいでしょうか?
退会済みユーザー

退会済みユーザー

2020/06/24 06:35

> .net framwork windows form という書き方でよろしいでしょうか? 「.net framwork windows form」=「windowsフォーム」だと理解できますが、「.net framwork windows form」=「Webフォーム」では絶対ありません。 一体何を作っているのですか? Visual Studio でプロジェクトを作成するときに使ったテンプレートのスクリーンショットを撮って、質問欄に張り付けてください。そうしてもらえないと多分話が通じないと思います。
guest

回答1

0

ベストアンサー

Webアプリ内ででエクセルを読み込んだり書き込んだりするのですがリソースを解放してもバックグラウンドから消えなくて困っています。

オフィスオートメーションの機能を使っているとすると、Web アプリでそういうことをするのは推奨されていません。

Office のサーバーサイド オートメーションについて
https://support.microsoft.com/ja-jp/help/257757/considerations-for-server-side-automation-of-office

Open XML, ClosedXML, Web アプリで使えるように開発されたサードパーティ製品を使うことをお勧めします。単純に Excel ファイルからデータを「読み込んだり書き込んだり」だけなら、JET (もしくは ACE) + ADO.NET で可能かもしれませんので、それも検討してはいかがですか?

ただし、そもそも、Excel が Web アプリの DB として使用に耐えうるのかという根本的な問題はありそうなきがしますが。

Web アプリではなく Windows Forms アプリだったとしても、JET (もしくは ACE) + ADO.NET で可能であれば、そちらに進めば、「リソースを解放してもバックグラウンドから消えなくて困っています」という悩みから解放されると思います。

投稿2020/06/24 02:20

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問