public void RunExample() { // start word and turn off msg boxes Word.Application wordApplication = new Word.Application(); wordApplication.DisplayAlerts = WdAlertLevel.wdAlertsNone; // create a utils instance, not need for but helpful to keep the lines of code low Word.Tools.CommonUtils utils = new Word.Tools.CommonUtils(wordApplication); // add a new document Word.Document newDocument = wordApplication.Documents.Add(); // insert some text wordApplication.Selection.TypeText("This text is written by NetOffice"); wordApplication.Selection.HomeKey(WdUnits.wdLine, WdMovementType.wdExtend); wordApplication.Selection.Font.Color = WdColor.wdColorSeaGreen; wordApplication.Selection.Font.Bold = 1; wordApplication.Selection.Font.Size = 18; // save the document string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example01", Word.Tools.DocumentFormat.Normal); newDocument.SaveAs(documentFile); // close word and dispose reference wordApplication.Quit(); wordApplication.Dispose(); // show dialog for the user(you!) HostApplication.ShowFinishDialog(null, documentFile); }
public List <string> CreateReportWord() { string appStatus; string strRet = null; List <string> appList = new List <string>(); //函数执行状态+文件名 //测试使用的是fristpage using (m_wordApp = new Word.Application()) { #region 定义类 WriteFirstPage FirstPage = new OfficeDocGenerate.WriteFirstPage("ProjectNumber", "CompaneName"); #endregion m_wordApp.DisplayAlerts = WdAlertLevel.wdAlertsNone; m_utils = new Word.Tools.CommonUtils(m_wordApp); m_doc = m_wordApp.Documents.Add(); //SetPage(); WriteFirstPage(model.ProjectNumber, model.CompaneName, model.ContractDate.Year + "年" + model.ContractDate.Month + "月" + model.ContractDate.Day + "日"); // m_doc.Paragraphs.Last.Range.InsertBreak(); WriteInstruction(); // m_doc.Paragraphs.Last.Range.InsertBreak(); appStatus = "0"; //WriteTestReport(ParmeterChemicalModels, physicalmodels, chemicalmodels, str); strRet = SaveFile(); appList.Add(appStatus); appList.Add(strRet); } return(appList); }
public List <string> CreateReportWord(List <string> strc, ProjectInfo projectmodels, List <TestChemicalReport> chemicalmodels) { string appStatus; string strRet = null; List <string> appList = new List <string>(); //函数执行状态+文件名 //测试使用的是fristpage using (m_wordApp = new Word.Application()) { #region 定义类 WriteFirstPage FirstPage = new OfficeDocGenerate.WriteFirstPage("2016SJ018", "北京京门世纪物业管理有限公司"); #endregion m_wordApp.DisplayAlerts = WdAlertLevel.wdAlertsNone; m_utils = new Word.Tools.CommonUtils(m_wordApp); m_doc = m_wordApp.Documents.Add(); //SetPage(); WriteFirstPage(FirstPage.ReportNumber, FirstPage.Client, projectmodels.CreateTime.Year.ToString() + "年" + projectmodels.CreateTime.Month.ToString() + "月" + projectmodels.CreateTime.Day.ToString() + "日"); m_doc.Paragraphs.Last.Range.InsertBreak(); // m_doc.Paragraphs.Last.Range.InsertBreak(); WriteContent(); m_doc.Paragraphs.Last.Range.InsertBreak(); appStatus = WriteEmployerBasicInfo(projectmodels); WriteTestReport(chemicalmodels, strc); strRet = SaveFile(); appList.Add(appStatus); appList.Add(strRet); } return(appList); }
public void RunExample() { // start word and turn off msg boxes Word.Application wordApplication = new Word.Application(); wordApplication.DisplayAlerts = WdAlertLevel.wdAlertsNone; wordApplication.Visible = true; // create a utils instance, not need for but helpful to keep the lines of code low Word.Tools.CommonUtils utils = new Word.Tools.CommonUtils(wordApplication); // add a new document Word.Document newDocument = wordApplication.Documents.Add(); // add new module and insert macro // the option "Trust access to Visual Basic Project" must be set VB.CodeModule module = newDocument.VBProject.VBComponents.Add(vbext_ComponentType.vbext_ct_StdModule).CodeModule; // set the modulename module.Name = "NetOfficeTestModule"; //add the macro string codeLines = string.Format("Public Sub NetOfficeTestMacro()\r\n {0}\r\nEnd Sub", "Selection.TypeText (\"This text is written by a automatic created macro with NetOffice...\")"); module.InsertLines(1, codeLines); //start the macro NetOfficeTestModule wordApplication.Run("NetOfficeTestModule!NetOfficeTestMacro"); // save the document string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example05", Word.Tools.DocumentFormat.Macros); newDocument.SaveAs(documentFile); if (utils.ApplicationIs2007OrHigher) { newDocument.SaveAs(documentFile, WdSaveFormat.wdFormatXMLDocumentMacroEnabled); } else { newDocument.SaveAs(documentFile); } //close word and dispose reference wordApplication.Quit(); wordApplication.Dispose(); // show dialog for the user(you!) HostApplication.ShowFinishDialog(null, documentFile); }
public void RunExample() { // start word and turn off msg boxes Word.Application wordApplication = new Word.Application(); wordApplication.DisplayAlerts = WdAlertLevel.wdAlertsNone; // create a utils instance, not need for but helpful to keep the lines of code low Word.Tools.CommonUtils utils = new Word.Tools.CommonUtils(wordApplication); // add a new document Word.Document newDocument = wordApplication.Documents.Add(); // add a table Word.Table table = newDocument.Tables.Add(wordApplication.Selection.Range, 3, 2); // insert some text into the cells table.Cell(1, 1).Select(); wordApplication.Selection.TypeText("This"); table.Cell(1, 2).Select(); wordApplication.Selection.TypeText("table"); table.Cell(2, 1).Select(); wordApplication.Selection.TypeText("was"); table.Cell(2, 2).Select(); wordApplication.Selection.TypeText("created"); table.Cell(3, 1).Select(); wordApplication.Selection.TypeText("by"); table.Cell(3, 2).Select(); wordApplication.Selection.TypeText("NetOffice"); // save the document string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example02", Word.Tools.DocumentFormat.Normal); newDocument.SaveAs(documentFile); // close word and dispose reference wordApplication.Quit(); wordApplication.Dispose(); // show dialog for the user(you!) HostApplication.ShowFinishDialog(null, documentFile); }
public List <string> CreateReportWord() { string appStatus; string strRet = null; List <string> appList = new List <string>(); //函数执行状态+文件名 //测试使用的是fristpage using (m_wordApp = new Word.Application()) { m_wordApp.DisplayAlerts = WdAlertLevel.wdAlertsNone; m_utils = new Word.Tools.CommonUtils(m_wordApp); m_doc = m_wordApp.Documents.Add(); WriteFirstPage(); appStatus = "0"; strRet = SaveFile(); appList.Add(appStatus); appList.Add(strRet); } return(appList); }
public List <string> CreateReportWord() { string appStatus; string strRet = null; List <string> appList = new List <string>(); //函数执行状态+文件名 //测试使用的是fristpage using (m_wordApp = new Word.Application()) { m_wordApp.DisplayAlerts = WdAlertLevel.wdAlertsNone; m_utils = new Word.Tools.CommonUtils(m_wordApp); m_doc = m_wordApp.Documents.Add(); appStatus = "0"; WriteReportBasicInfo(); //WriteTestReport(ParmeterChemicalModels, physicalmodels, chemicalmodels, str); strRet = SaveFile(); appList.Add(appStatus); appList.Add(strRet); } return(appList); }
public void RunExample() { // create simple a csv-file as datasource string fileName = string.Format("{0}\\DataSource.csv", HostApplication.RootDirectory); // if file exists then delete if (File.Exists(fileName)) { File.Delete(fileName); } File.AppendAllText(fileName, string.Format("{0},{1}{2}", "ProjectName", "ProjectLink", Environment.NewLine)); File.AppendAllText(fileName, string.Format("{0},{1}{2}", "NetOffice", "http://netoffice.codeplex.com", Environment.NewLine)); // start word and turn off msg boxes Word.Application wordApplication = new Word.Application(); wordApplication.DisplayAlerts = WdAlertLevel.wdAlertsNone; // create a utils instance, not need for but helpful to keep the lines of code low Word.Tools.CommonUtils utils = new Word.Tools.CommonUtils(wordApplication); // add a new document Word.Document newDocument = wordApplication.Documents.Add(); // define the document as mailmerge newDocument.MailMerge.MainDocumentType = WdMailMergeMainDocType.wdFormLetters; // open the datasource newDocument.MailMerge.OpenDataSource(fileName); // insert some text and the mailmergefields defined in the datasource wordApplication.Selection.TypeText("This test is brought to you by "); newDocument.MailMerge.Fields.Add(wordApplication.Selection.Range, "ProjectName"); wordApplication.Selection.TypeText(" for more information and examples visit "); newDocument.MailMerge.Fields.Add(wordApplication.Selection.Range, "ProjectLink "); wordApplication.Selection.TypeText(" or click "); object adress = newDocument.MailMerge.DataSource.DataFields[2].Value; object screenTip = "click me if you want!"; object displayText = "here"; newDocument.Hyperlinks.Add(wordApplication.Selection.Range, adress, Missing.Value, screenTip, displayText, Missing.Value); // show the contents of the fields int wdToggle = 9999998; newDocument.MailMerge.ViewMailMergeFieldCodes = wdToggle; //do not show the fieldcodes wordApplication.ActiveWindow.View.ShowFieldCodes = false; // save the document string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example04", Word.Tools.DocumentFormat.Normal); newDocument.SaveAs(documentFile); // close word and dispose reference wordApplication.Quit(); wordApplication.Dispose(); // show dialog for the user(you!) HostApplication.ShowFinishDialog(null, documentFile); }
public void RunExample() { // start word and turn off msg boxes Word.Application wordApplication = new Word.Application(); wordApplication.DisplayAlerts = WdAlertLevel.wdAlertsNone; // create a utils instance, not need for but helpful to keep the lines of code low Word.Tools.CommonUtils utils = new Word.Tools.CommonUtils(wordApplication); // add a new document Word.Document newDocument = wordApplication.Documents.Add(); // create a new listtemplate Word.ListTemplate template = newDocument.ListTemplates.Add(true, "NetOfficeListTemplate"); //get the predefined listlevels (9) Word.ListLevels levels = template.ListLevels; // customize the first level of the list levels[1].NumberFormat = "%1."; // tab is used to change the level levels[1].TrailingCharacter = WdTrailingCharacter.wdTrailingTab; levels[1].NumberStyle = WdListNumberStyle.wdListNumberStyleArabic; levels[1].NumberPosition = 0; levels[1].Alignment = WdListLevelAlignment.wdListLevelAlignLeft; levels[1].TextPosition = wordApplication.CentimetersToPoints(0.63F); levels[1].TabPosition = wordApplication.CentimetersToPoints(0.63F); levels[1].ResetOnHigher = 0; levels[1].StartAt = 1; levels[1].LinkedStyle = ""; levels[1].Font.Bold = 1; // customize the second level of the list levels[2].NumberFormat = "%1.%2."; // tab is used to change the level levels[2].TrailingCharacter = WdTrailingCharacter.wdTrailingTab; levels[2].NumberStyle = WdListNumberStyle.wdListNumberStyleArabic; // we want the numbers to appear under the first letter of the higher level levels[2].NumberPosition = wordApplication.CentimetersToPoints(0.63F); levels[2].Alignment = WdListLevelAlignment.wdListLevelAlignLeft; // and the text should indent a tab more on the right levels[2].TextPosition = wordApplication.CentimetersToPoints(1.4F); levels[2].TabPosition = wordApplication.CentimetersToPoints(1.4F); levels[2].ResetOnHigher = 0; levels[2].StartAt = 1; levels[2].LinkedStyle = ""; levels[2].Font.Italic = 1; // apply the defined listtemplate to the selection wordApplication.Selection.Range.ListFormat.ApplyListTemplate(template, false, WdListApplyTo.wdListApplyToWholeList, WdDefaultListBehavior.wdWord9ListBehavior); //create a list wordApplication.Selection.TypeText("Welcoming"); wordApplication.Selection.TypeParagraph(); wordApplication.Selection.TypeText("Introduction"); wordApplication.Selection.TypeParagraph(); wordApplication.Selection.TypeText("Presentation"); wordApplication.Selection.TypeParagraph(); // execute the indent so the second level gets activated wordApplication.Selection.Range.ListFormat.ListIndent(); wordApplication.Selection.TypeText("Top 1"); wordApplication.Selection.TypeParagraph(); wordApplication.Selection.TypeText("Top 2"); wordApplication.Selection.TypeParagraph(); wordApplication.Selection.TypeText("Top 3"); wordApplication.Selection.TypeParagraph(); // execute the outdent so the first level gets reactivated wordApplication.Selection.Range.ListFormat.ListOutdent(); wordApplication.Selection.TypeText("Questions & Answers"); // save the document string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example03", Word.Tools.DocumentFormat.Normal); newDocument.SaveAs(documentFile); // close word and dispose reference wordApplication.Quit(); wordApplication.Dispose(); // show dialog for the user(you!) HostApplication.ShowFinishDialog(null, documentFile); }