Word中关于Table的alt text的编程问题
在Word中Table属性对话框上有一个alt text的标签,其下有Title和Description两个项目。然后再底部有Alertnative Text云云。许多人就被这个Alertnative Text给糊弄了,以为Table下有AlertnativeText属性。在发现Table下没有AlertnativeText属性后认为可能是在Table.Range.InlineShapes[index]下(因为InlineShape有AlertnativeText属性)。其实,这是个误导。在Table下有Table.Title和Table.Descr属性来对应的。下面是示例代码
using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using System.Xml.Linq; using Microsoft.Office.Tools.Word; using Microsoft.VisualStudio.Tools.Applications.Runtime; using Office = Microsoft.Office.Core; using Word = Microsoft.Office.Interop.Word; //using MyLog4Net; namespace WordDocument17 { public partial class ThisDocument { ////private MyLogger mlog = new MyLogger(typeof(ThisDocument), "Debug.log"); private void ThisDocument_Startup(object sender, System.EventArgs e) { try { Word.Application wdApp = Application; Word.Document wdDoc = wdApp.ActiveDocument; Word.Table wdTable = wdDoc.Tables[1]; MessageBox.Show(wdTable.Title + "\n" + wdTable.Descr); } catch (Exception ex) { //mlog.ERROR(ex.Message + "\n" + ex.StackTrace); } } private void ThisDocument_Shutdown(object sender, System.EventArgs e) { } #region VSTO Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InternalStartup() { this.Startup += new System.EventHandler(ThisDocument_Startup); this.Shutdown += new System.EventHandler(ThisDocument_Shutdown); } #endregion } }
征诛志异,三让两家王朝;功同开辟,一桮万古江南。