ボタンをクリックしてExcelファイルを開こうとしています。何らかの理由でそれが機能していない。私はいくつかのことを試しました。なぜ彼らは働いていないすべてのアイデア?Process.Startを使用してC#でExcelファイルを開く
方法1試しました。これは、ファイルマネージャを開きますが、適切なファイルを開きません。
System.Diagnostics.Process.Start(@"C:\Users\username\Documents\newTest.xlsx");
ボタンをクリックしてExcelファイルを開こうとしています。何らかの理由でそれが機能していない。私はいくつかのことを試しました。なぜ彼らは働いていないすべてのアイデア?Process.Startを使用してC#でExcelファイルを開く
方法1試しました。これは、ファイルマネージャを開きますが、適切なファイルを開きません。
System.Diagnostics.Process.Start(@"C:\Users\username\Documents\newTest.xlsx");
通常、Process.Start(@"C:\Users\username\Documents\newTest.xlsx");
はExcelでドキュメントを開きます。
しかし、あなたはあなたがバックグラウンドで実行されるExcelアドインからこれをやっていると言っています。解決策は、(そうでなければ、それに応じて調整する必要があり、コードサンプルを使用すると、VSTOアドインしていることを前提として)これを考慮に入れる必要があります:
// make the running Excel instance visible
Globals.ThisAddIn.Application.Visible = true;
// open the workbook using Excel interop
Globals.ThisAddIn.Application.Workbooks.Open(fileName);
private string fileCopy;
public RepairResultsControl()
{
InitializeComponent();
}
public void Show(PSRepair.AnalysisResults analysis, string pathNameCopy)
{
fileCopy = pathNameCopy;
Show();
}
private void btnGoToFile_Click(object sender, EventArgs e)
{
Process.Start("explorer.exe", "/select,"+ fileCopy);
}
存在しません
背景に潜んでいる任意のExcelのプロセスがありますか? – stuartd
私のプロジェクトは優れたアドインなので、バックグラウンドで開いています。これは問題ですか? –
ああ、そのシナリオでは分かりません。私がExcelの自動化に使用した場合、応答しないか開いていない非アクティブなプロセスで終了します。しかし、これがアドインの場合、Excelオブジェクトモデルにアクセスしてスプレッドシートを開くことはできませんか? – stuartd