Я успешно создал проект С# Word 2013 (ReportGenerator), который открывает базу данных MS ACCESS и создает отчет MS WORD 2013. Результаты очень хорошие. У меня проблема в том, что на данный момент ее можно запустить только из Visual Studio. Мой босс хочет, чтобы он работал через форму Windows.
У меня есть полномочия создать новый проект (ReportRunner), который содержит форму Windows с сеткой данных, заполнить ее и поместить на нее кнопку. Чего мне не хватает, так это компетентности знать, как:
- Откройте код генерации отчета из ReportGenerator в событии onclick ReportRunner.
- Передайте переменную из ReportRunner в ReportGenerator, чтобы избежать жесткого кодирования.
Я ожидал, что смогу написать строку типа «ReportGenerator.ThisDocument.ThisDocument_Startup» в событии нажатия кнопки. Этого не происходит.
Важные фрагменты кода в моих проектах:
Генератор отчетов
namespace ReportGenerator
{
public partial class ThisDocument
{
ReportData reportData = new ReportData();
public void ThisDocument_Startup(object sender, System.EventArgs e)
{
int idToLookFor = 2;
reportData = MyFunctionToReadAccessData(idToLookFor);
MyFunctionToPutDataIntoReport();
}
}
}
ReportRunner
using ReportGenerator;
namespace ReportRunner
{
public partial class Form1 : Form
private void button1_Click(object sender, EventArgs e)
{
int idToLookFor = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
//HOW DO I MAKE IT OPEN REPORT GENERATOR ThisDocument_Startup
// AND PASS IT THE idToLookFor
}
}