어셈블리를 사용합니다. Microsoft.Office.Interop.Word;C#으로 단어 문서에서 단락 번호를 얻는 방법은 무엇입니까?
내 문서는 Microsoft.Office.Interop.Word.Document 개체이며이 문서에서 각 단락의 번호를 가져 오려고합니다.
어떻게하면됩니까?
어셈블리를 사용합니다. Microsoft.Office.Interop.Word;C#으로 단어 문서에서 단락 번호를 얻는 방법은 무엇입니까?
내 문서는 Microsoft.Office.Interop.Word.Document 개체이며이 문서에서 각 단락의 번호를 가져 오려고합니다.
어떻게하면됩니까?
당신은이 같은 필요 : 당신은 "각 단락의 수를"말할 때
object misValue = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
object docPth = @"c:\tmp\aDoc.doc";
Microsoft.Office.Interop.Word.Document aDoc = wordApp.Documents.Open(ref docPth, ref misValue, ref misValue,
ref misValue, ref misValue, ref misValue, ref misValue, ref misValue, ref misValue, ref misValue,
ref misValue, ref misValue, ref misValue, ref misValue, ref misValue, ref misValue);
wordApp.Visible = true;
foreach (Microsoft.Office.Interop.Word.Paragraph aPar in aDoc.Paragraphs)
{
Microsoft.Office.Interop.Word.Range parRng = aPar.Range;
string sText = parRng.Text;
string sList = parRng.ListFormat.ListString;
int nLevel = parRng.ListFormat.ListLevelNumber;
MessageBox.Show("Text = " + sText + " - List = " + sList + " - Level " + nLevel.ToString());
}
Microsoft.Office.Interop.Word
라이브러리/dll을 사용하기 전에 해당 라이브러리의 설명서를 읽어야합니다.
는 여기에 읽기 : 또한
http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.paragraphs_members.aspx
, 당신은 사용합니까 오피스의 버전을 따라 달라집니다.
저는 이미 문서를 읽었으며 Visual Studio 2008과 프레임 워크 3.5를 사용했습니다. – user1523566
문서 개체가있는 경우 문서에서 각 단락의 '번호'또는 '색인'을 이미 가져올 수 있습니다. 예를 들어 문서의 두 번째 단락의 텍스트를 가져와야하는 경우 다음과 같이 말합니다.
MSWord.Application app = (MSWord.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Word.Application");
MSWord.Document doc = app.ActiveDocument; //the document that's on screen and 'active'
Console.WriteLine("Paragraph Count: " + doc.Paragraphs.Count); //show total number of paragraphs available in document.
Console.Write Line("Paragraph number 2 text: " + doc.Paragraphs[2].Range.Text); //show text of paragraph number 2
Console.ReadLine();
이 경우 도움이되지 않는 경우입니다. 제발 ... 당신의 질문을 편집하십시오. 우리가 분명히 할 때까지는이 일을 정말로 할 수 없습니다.
비슷한 것을하고 싶습니다 : http : //support.microsoft.com/kb/315728 그러나 단락과 그 레벨의 목록을 가지고있는 C#으로 – user1523566
여전히 명확하지 않다면, 더 설명 할 준비가되었습니다. – user1523566
당신은 무엇을 의미합니까를? –
다음을보십시오 : http://support.microsoft.com/kb/315728, VB.net으로 제작되었습니다. C#으로 동일한 작업을하고 싶습니다. – user1523566