基本的には、クライアントが自分のExcelファイルをデータベースに直接保存できるExcel管理ソフトウェアを作成したいと思います。これを実現するために、特定のテンプレートまたはファイルを使用してExcelワークシートを開き、ユーザーに変更させようとしています。ユーザーが作業内容を保存すると、Excelプログラムがデータベースに自動的に保存されます。
したがって、これまでに行ったことは、保存する前にイベントをテストすることであり、イベントは発生しません。
static void Main()
{
System.Windows.Forms.Application.EnableVisualStyles();
System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);
//Application.Run(new LoginForm());
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Microsoft.Office.Interop.Excel.Application a = new
Microsoft.Office.Interop.Excel.Application();
Workbook wb = a.Workbooks.Open("\\\\doctor-pc\\excel\\test1.xlsx",
Type.Missing, false, Type.Missing, Type.Missing, Type.Missing,
Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing);
wb.BeforeSave += new WorkbookEvents_BeforeSaveEventHandler(wb_BeforeSave);
a.Visible = true;
}
static void wb_BeforeSave(bool SaveAsUI, ref bool Cancel)
{
MessageBox.Show("Save");
}
誰かがこれを手伝ってくれますか?
プログラムによって開かれたドキュメントにのみ影響を与える動作が必要なため、アプリレベルのアドインを使用できません。また、プログラムがさまざまな種類のファイルやテンプレートを開く可能性があるため、ドキュメントレベルのアドインを使用できません。