2012-08-04 54 views
1

目前我得到了整個Word文檔中,如下變量:在DOCX選擇頁面使用C#

docs.ActiveWindow.Selection.WholeStory(); 
docs.ActiveWindow.Selection.Copy(); 
IDataObject data = Clipboard.GetDataObject(); 

的wholestory()函數選擇整個Word文檔。

請告訴我,如果我可以逐頁選擇。

回答

0

你應該能夠做這樣的事情:

how can we open a word file with specific page number in c sharp?

object what = Microsoft.Office.Interop.Word.WdGoToItem.wdGoToPage; 
object which = Microsoft.Office.Interop.Word.WdGoToDirection.wdGoToFirst; 
object count = 3; 

wordApplication.Selection.GoTo(ref what, ref which, ref count, ref missing); 
+0

我都嘗試過,但它說:「沒有選擇」請指教。 – fawad 2012-08-04 07:49:12

3

您需要設置範圍,要選擇。

例子:

object what = WdGoToItem.wdGoToPage; 
object which = WdGoToDirection.wdGoToAbsolute; 
object count = 0; 

const string fileName = "C:\\1.docx"; 
object fileNameAsObject = fileName; 

Application wordApplication = new Application(); 
object readOnly = false; 
object missing = System.Reflection.Missing.Value; 
wordApplication.Documents.Open(ref fileNameAsObject, ref missing, ref readOnly, ref missing, 
           ref missing, ref missing, ref missing, ref missing, 
           ref missing, ref missing, ref missing, ref missing, 
           ref missing, ref missing, ref missing, ref missing); 

Range startRange = wordApplication.Selection.GoTo(ref what, ref which, ref count, ref missing); 
object count2 = (int)count + 1; 
Range endRange = wordApplication.Selection.GoTo(ref what, ref which, ref count2, ref missing); 

//if you want to select last page 
if (endRange.Start == startRange.Start) 
{ 
    which = WdGoToDirection.wdGoToLast; 
    what = WdGoToItem.wdGoToLine; 
    endRange = wordApplication.Selection.GoTo(ref what, ref which, ref count2, ref missing); 
} 

endRange.SetRange(startRange.Start, endRange.End); 
endRange.Select();