我有一个C#2.0(WinForms)项目,我尝试激活word 2003(在系统上安装了word).通过使用以下代码:
private void ActivateWord()
{
this.Activate();
if (m_WordDocument != null)
{
try
{
m_WordDocument.Activate();
if (m_WordDocument.Application != null)
{
m_WordDocument.Application.Visible = true;
m_WordDocument.Application.Activate();
}
}
catch (COMException comEx)
{
ShowError(this, comEx.Message, false);
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我的应用程序执行m_WordDocument.Application.Activate()时,我收到一个COM异常0x800A11F9.
Stacktrace:
"System.Runtime.InteropServices.COMException (0x800A11F9): Cannot activate application
at Word.ApplicationClass.Activate()
at Roxit.SquitXO.GUI.DocumentCreatie.frmSelectVeld.ActivateWord()"
Run Code Online (Sandbox Code Playgroud)
可能是造成这个问题的原因是什么?
我有一个Range对象,我想用它来从Range驻留的页面中提取信息.信息在表格中的页眉和页脚中,我想从表格中读取文本.
我试过了: word.Sections[1].Headers[WdHeaderFooterIndex.wdHeaderFooterPrimary].Shapes.Range(ref pageNumber).TextFrame.TextRange.Text;
单词是a Range并且pageNumber是该范围所在的页码.问题是我无法获得真实的页码!使用word.get_information(WdInformation.wdActiveEndPageNumber)返回不正确的页码!
使用 Word 互操作库从 Document 对象中删除特定页面的最简单、最有效的方法是什么?
我注意到有一个扩展/实现 IEnumerable 的 Pages 属性。可以简单地删除数组中的元素并从文档中删除页面吗?
我也看过 Ranges 和 Section 示例,但使用起来看起来不太优雅。
谢谢。
我想在word文档中找到一个字符串并删除它后面的所有内容.
不使用Selection对象,最好的方法是什么?
我目前正在使用Interop在Word模板中处理表格.
在我的模板中,我有一个我想要复制的表(复制将使我更容易填写数据而不是插入行和列,因为模板有很多写入格式).新表应插入原始表的正下方.最好的是它们看起来像一张桌子.
我的问题是我在两个表之间得到一个段落.我怎么能避免这个?
这是我的代码:
object oCollapseEnd = Word.WdCollapseDirection.wdCollapseEnd;
Word.Range rng = table.Range;
rng.Collapse(ref oCollapseEnd);
Word.Table tableCopy = document.Tables.Add(rng, 1, 1, ref missing, ref missing);
table.Range.Copy();
tableCopy.Range.Paste();
Clipboard.Clear();
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感谢!:)
有没有办法为IN的子句提供一个未定义的集合?
如:
select * from ABC WHERE MY_ID IN (X TO Y)
Run Code Online (Sandbox Code Playgroud)
示例:如果我将X赋予3,将Y赋予8;
select * from ABC WHERE MY_ID IN (3, ... , 8)
Run Code Online (Sandbox Code Playgroud)
这应该与:
select * from ABC WHERE MY_ID IN (3, 4, 5, 6, 7, 8)
Run Code Online (Sandbox Code Playgroud)