C\#조작 Word 지식 집합

1.마이크로소프트 공식 인 스 턴 스:
단락,표,도표
HOW TO:Visual C\#.NET 을 이용 하여 Word 에서 자동 으로 문 서 를 새로 만 듭 니 다.
 
2.학습 자원
(1)Word in the Office 기초 지식,필 독,아래 요약 에 내용 요약 이 있 습 니 다.
http://msdn.microsoft.com/en-us/library/Aa201330
네티즌 번역 판:http://blog.csdn.net/hustliangchen/archive/2011/01/05/6118459.aspx
(2)Word 류 의 구성 도,Application,document,Range,Selection 등 필 독
http://msdn.microsoft.com/en-us/library/aa164012
(3)워드 2007 개체 모델:
http://msdn.microsoft.com/en-us/library/bb244515%28v=office.12%29.aspx
(4)Microsoft.Office.Interop.Word
http://msdn.microsoft.com/zh-cn/library/ms254954%28v=Office.11%29.aspx
(5)WPS 2 차 개발 인터페이스 문서 wpsapi.chm
중국어 읽 기 편 함,CSDN 다운로드
(6)나방 Word VBA 참조 튜 토리 얼
중국어 워드 라 이브 러 리
http://www.feiesoft.com/vba/word/
(7)VBA 매크로 로 Word 작업 효율 을 향상 시 킵 니 다.연구 가 필요 한 20 개의 전형 적 인 사례 입 니 다.
http://pcmag.hexun.com/2010-03-18/123031946.html
 
3.일부 총화
(1)Document 는 구체 적 인 워드 문 서 를 대표 합 니 다.Documents 는 Document 의 집합 이 고 index 색인 으로 특정한 document 을 표시 합 니 다.ActiveDocument 속성 은 현재 초점(focus)의 document 입 니 다.우 리 는 일반적으로 색인 으로 문 서 를 인용 하지 않 습 니 다.색인 값 은 문서 가 열 리 고 닫 히 면서 변 하기 때 문 입 니 다.일반적으로 우 리 는 ActiveDocument 속성 이나 Documents 가 집합 한 Add 또는 Open 방법 으로 되 돌아 오 는 document 대상 변 수 를 참조 합 니 다.Add 또는 Open 의 document 는 ActiveDocument 가 되 며,다른 document 을 activeDocument 로 만 들 려 면 document 대상 의 ActiveDocument 방법 을 사용 합 니 다.
파일 이름 으로 구체 적 인 Documnet 을 가리 키 십시오Documents("Report.doc").Activate(); 
(2)characters 는 words 를 구성 하고 words 는 sentences 를 구성 하 며 sentences 는 paragraphs 를 구성 하기 때문에 하나의 document 에는 다음 과 같은 네 개의 집합 이 포함 된다.Characters Words,Sentences,Paragraphs collection.또한,document 은 sections 의 집합 을 포함 할 수 있 으 며,하나의 section 은 Headers Footers 의 머 릿 말 을 집합 할 수 있 습 니 다.
 
(3)Paragraph 단락 은 한 단락 의 표지 와 모든 텍스트 로 구성 된다.단락 을 복사 할 때 단락 표지 가 포함 되 어 있 으 면 단락 형식 도 함께 복사 합 니 다.형식 을 복사 하고 싶 지 않 으 면 단락 표 지 를 복사 하지 마 세 요.
 
(3)Range 대상 은 시작 문자 와 끝 문자 로 정 의 된 연속 적 인 영역 을 대표 합 니 다.커서 를 삽입 하거나 전체 문서 내용 까지 작 을 수도 있 지만 현재 selection 이 대표 하 는 영역 이 어야 하 는 것 은 아 닙 니 다.한 문서 에서 여러 Range 대상 을 정의 할 수 있 습 니 다.
저 희 는 보통 Range 클래스 로 하나의 변 수 를 정의 하여 Range 대상 을 만 든 다음 Document 의 Range 방법 이나 다른 대상 의 Range 속성 으로 이 Range 대상 을 예화 합 니 다.
 
(4)선택 대상
커서
이 대상 은 창 이나 창의 현재 선택 한 내용 을 대표 합 니 다.선택 한 내용 은 문서 에서 선 택 된 영역 을 대표 합 니 다.문서 에 선택 한 내용 이 없 으 면 삽입 점 을 대표 합 니 다.모든 문서 창 에는 하나의 활동 적 인 Selection 대상 만 있 을 수 있 고 전체 프로그램 에는 하나의 활동 적 인 Selection 대상 만 있 을 수 있 습 니 다.Selection 대상 을 사용 하여 Selection 속성 을 사용 하면 Selection 대상 을 되 돌려 줍 니 다.Selection 속성의 대상 식별 자 를 사용 하지 않 으 면 Word 는 활성 문서 창의 활성 창 에서 선택 한 내용 을 되 돌려 줍 니 다.
Text 속성 은 선택 한 내용 입 니 다.
복사,잘라 내기,붙 여 넣 기 방법 으로 복사,잘라 내기,붙 여 넣 기 등 작업 을 한다.
 
(5)sections
섹 션 s.Add 방법
이 방법 은 Section 대상 을 되 돌려 주 는 데 사 용 됩 니 다.이 대상 은 문서 에 추 가 된 새 절 을 표시 합 니 다.Function Add([Range As Range = 0],  [Start As WpsSectionStart=2])섹 션 매개 변수 가 범 위 를 설명 함 에 따라    Variant 형식,선택 가능.그 전에 섹 터 를 삽입 하 는 영역 입 니 다.이 매개 변 수 를 무시 하면 문서 끝 에 섹 터 를 삽입 합 니 다.Start    Variant 형식,선택 가능.추가 할 섹 터 형식 입 니 다.WpsSection Start 형식 입 니 다.이 인 자 를 무시 하면'다음 페이지'형식의 섹 터 를 추가 합 니 다.    WpsSection Start 형식 은 다음 상수 중 하나 일 수 있 습 니 다.    값.    묘사 하 다.    wpsSectionContinuous     연속 분 절 부호    wpsSectionEvenPage     짝수 페이지 섹 터    wpsSectionNewColumn     절의 끝    wpsSectionNewPage     다음 페이지 섹 션 문자(기본 값)    wpsSectionOddPage     홀수 페이지 섹 터
섹 션 참조 MSDN
Section  참조 MSDN
 
4.구체 적 으로 사용
(1)제목 스타일 설정 방법,'제목 1','제목 2'등 참고
public void AddTitle(string s){/Word 문단 Word.단락 p;p = oDoc.Content.Paragraphs.Add(ref missing); //단락 의 내용 텍스트 p.Range.Text=s;/1 번 제목 object style=Word.wdBuiltinStyle.wdStyleHeading 1 로 설정 합 니 다.p.set_Style(ref style); //마지막 p.Range.InsertParagraphAfter();/InsertParagraphAfter 방법 을 사용 한 후 선택 한 내용 은 새 단락 을 포함 하여 확 장 됩 니 다.}//<요약>//일반 단락 추가/////public void AddParagraph(string s){Word.단락 p;p = oDoc.Content.Paragraphs.Add(ref missing); p.Range.Text = s; object style = Word.WdBuiltinStyle.wdStyleBodyText; p.set_Style(ref style); p.Range.InsertParagraphAfter(); }
 
(2)표 삽입 방법
Word 의 Table 클래스 를 사용 하고,DataTable 클래스 를 사용 하여 보조 하 는 사람 도 있 습 니 다.
 
(3)그림 삽입 방법
InlineShapes 는 Word 에 내 장 된 도형 등 자원 입 니 다.
public void InsertImage(string strPicPath, float picWidth, float picHeight) { string FileName = strPicPath; object LinkToFile = false; object SaveWithDocument = true; object Anchor = oWord.Selection.Range; oWord.ActiveDocument.InlineShapes.AddPicture(FileName, ref LinkToFile, ref SaveWithDocument, ref Anchor).Select(); oWord.Selection.InlineShapes[1].Width = picWidth; // 그림 너비 oWord.Selection.InlineShapes[1].Height=picHeight;/그림 높이}
 
? 그림 을 삽입 한 후 왜 또 없어 졌 습 니까?
이것 은 아마도 당신 이 그림 을 삽입 한 후에 또 물건 을 삽 입 했 기 때 문 일 것 입 니 다.그러나 커서 를 이동 하지 않 아서 그림 을 덮어 버 렸 습 니 다.
해결 방법:커서 이동
 
(4)커서 이동
A:태그:
시스템 미리 정 의 된 태그:object oEndOfDoc="/endofdoc";/*/endofdoc is a predefined bookmark 시스템 에서 미리 정 의 된 책 갈피?*/
사용자 정의 탭:
B:탭 으로 위치 가 져 오기
Word.Range wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;
단락,표를 삽입 할 때 이 위치 에 사 용 됩 니 다.
oPara3 = oDoc.Content.Paragraphs.Add(ref oRng);
oTable = oDoc.Tables.Add(wrdRng, 3, 5, ref oMissing, ref oMissing);
// Go to a predefined bookmark, if the bookmark doesn't exists the application will raise an error public void GotoBookMark(string strBookMarkName) { // VB : Selection.GoTo What:=wdGoToBookmark, Name:="nome" object Bookmark = (int)Microsoft.Office.Interop.Word.WdGoToItem.wdGoToBookmark; object NameBookMark = strBookMarkName; oWord.Selection.GoTo(ref Bookmark, ref missing, ref missing, ref NameBookMark); } public void GoToTheEnd() { // VB : Selection.EndKey Unit:=wdStory object unit; unit = Microsoft.Office.Interop.Word.WdUnits.wdStory; oWord.Selection.EndKey(ref unit, ref missing); } public void GoToTheBeginning() { // VB : Selection.HomeKey Unit:=wdStory object unit; unit = Microsoft.Office.Interop.Word.WdUnits.wdStory; oWord.Selection.HomeKey(ref unit, ref missing); }
 
(5)디 렉 터 리 생 성
public void insertContent()//제목 스타일 로 디 렉 터 리 생 성{GoToTheBeginning();object start = 0; object end = 0; Word.Range myRange = oWord.ActiveDocument.Range(ref start, ref end); //위치 영역 개체 useHeadingStyle=true;/Head 스타일 object upperHeadingLevel=1;/최대 개체 lowerHeadingLevel=3;/최소 3 단계 object useHypeLinks=true;/TablesOfContents 의 추가 방법 은 디 렉 터 리 oDoc.TablesOfContents.Add(my Range,ref useHeadingStyle,ref upperHeadingLevel,ref lowerHeadingLevel,ref missing,ref missing,ref missing,ref missing,ref missing,ref useHypeLinks,ref missing,ref missing)를 추가 합 니 다.oDoc.TablesOfContents[1].UpdatePageNumbers(); //페이지 업데이트}\#endregion
 
(6)디 렉 터 리 형식 은 어떻게 설정 합 니까?예 를 들 어 굵기,경사 등 이다.
단락 형식 설정
public void formatContent() { Word.TableOfContents myContent = oDoc.TablesOfContents[1]; //디 렉 터 리 Word.Paragraphs myParagraphs=myContent.Range.Paragraphs;/디 렉 터 리 의 모든 세그먼트,한 줄 한 줄 int[]First ParaArray=new int[3]{1,8,9};/1 급 제목,foreach(int i in First ParaArray){myParagraphs[i].Range.Font.Bold=1;/myParagraphs[i].Range.Font.Name="흑체";/글꼴 myParagraphs[i].Range.Font.size=12;/작은 4 myParagraphs[i].Range.ParagraphFormat.SpaceBefore=6;/단락 전 myParagraphs[i].Range.ParagraphFormat.SpaceAfter=6;/세그먼트 후 간격}

좋은 웹페이지 즐겨찾기