.net에서 Word 동적 충전 데이터 인쇄 실현

2336 단어
오늘 연구를 해봤어요.net에서Word동적으로 데이터 인쇄를 실현하는 방법은 꽤 수확이 있다고 생각합니다~
이전에 Excel과 관련된 일을 해 봤기 때문에 OFFICE의COM에 대해 조금 알고 인용할 COM과 도움말 문서를 잘 찾았습니다. 구체적인 방법은 인용에COM--------Microsoft word 11.0 object library를 추가하고 명칭 공간을 도입하는 것입니다.
구체적인 설명: 먼저 하나의 템플릿이 있다.doc 파일, 이 템플릿에 데이터를 추가할 곳을 책갈피로 설정합니다.net 프로그램에서 필요한 것은 이 템플릿을 열고 미리 설정한 책갈피를 구체적으로 추가해야 하는 값으로 바꾼 다음Word의 인쇄 미리 보기 페이지로 돌아가는 것입니다. 생각은 간단합니다. 하지만 문제도 있습니다.
이 프로그램은 우리 대학원 대학원생들이 복학생 답안지를 출력하는 데 쓰였지만 표는 학교 대학원부에서 구했고 주로 거기에 도장을 찍었습니다. 그래서 그 표로만 칠 수 있었습니다. 그러나 표는 너무 작아서 같은 글씨체로 칠 수가 없었습니다.어쩐지 대학원부에서 이런 고급스러운 물건이 있을 줄은 몰랐어요~~ㅋㅋㅋ 보통 수공으로 채웠을 거예요~~~내일 가면 구체적으로 어떻게 해야 할지 몰라서 답안지를 출력하는 데 도움이 안 될 거예요~~~ 남겨두면 꼭 쓸모가 있을 거예요!
4월 16일 수정:
며칠 전에 했는데 곰곰이 생각해 보니 개선해야 할 점이 있다.내가 앞에서 한 것은 한 문서의 작성, 한 문서의 인쇄일 뿐이다. 자료를 백 개 이상 고려한 후에 이렇게 하면 프린터의 인쇄 효율이 높지 않다. 매번 프린터에 인쇄 임무만 보내면 다음 임무를 받아들이는 데 시간이 필요하기 때문에 인쇄해야 할 문서를 하나의 문서로 만들어서 문서를 저장할 수 있을 뿐만 아니라 프린터에 한 임무만 보내면 자료를 인쇄할 수 있다는 생각이다.NB의 프린터는 인쇄 속도가 매우 빠르다~~
구체적인 조작을 적어 두세요~ 사고방식은 두 개의 워드 문서를 열어서 (물론 생성 과정에서 모두 보이지 않습니다) 하나는 앞에서 말한 대로 책갈피를 바꾸지만 인쇄 처리를 하지 않고 다른 문서로 복사하는 것입니다(이 문서는 이미 생성된 모든 표를 저장하고 마지막에 얻은 것은 이 워드 문서를 인쇄하거나 마음대로 저장하는 것입니다).구체적인 코드는 다음과 같습니다.
 
먼저 using에서 다음과 같이 설명합니다.
using Range = Microsoft.Office.Interop.Word.Range;
doc.Content.Copy();//doc의 내용을 복사합니다.doc는 매번 책갈피를 바꾸는 문서입니다.
object save = false;               
doc.Close(ref save, ref oMissing, ref oMissing);//doc를 닫습니다.
Range range = printDoc.Content;//전체 printDoc의 모든 내용, printDoc는 문서를 저장하는 목표입니다.
range.Collapse(ref oMissing);//붙이는 위치를 정합니다. 사실 이 곳에 유효한 매개 변수를 놓고 붙이는 위치를 문서의 끝으로 설정하고 싶습니다. 기본적인 문서의 맨 앞에 있는 것이 아니라 도움말 문서를 VB가 썼습니다. Direction:=wdCollapseEnd의 동쪽으로 보냈습니다. 저는 반나절 동안 꺼내지 못했는데 다행히 VB의 끝을 알았습니다. 슬퍼서 저는 빈값을 보내는 것을 잊어버렸습니다. 반나절이나 걸렸습니다!누군가가 나에게 몇 통의 문자를 보냈는데 단번에 나를 연결해줘서 고마워~
range.Paste();//목표 위치에 붙여서 한 번에 기입하면 완성됩니다.
그렇긴 하지만 목표 문서를 만들 때도 자원을 많이 소모합니다. 그 프로그램이 100m가 넘는 메모리를 차지하고 있는 것을 봤습니다!!그리고~~그리고~내 기계는 두 번의 실험에서 버티지 못했어!다운됐어요~~ 그때 정말 미쳐버렸어요~ 나중에 몇 번이나 소리 없이 성공했는지 누가 알아요!그런데 학원 기계가 견딜 수 있을까~~에이 계속 최적화해!이번에 인터페이스도 바꿨습니다. 위의 생성은 하나의 단독 라인에 있어서 메인 인터페이스가 죽은 것처럼 보이지 않을 뿐만 아니라 메인 인터페이스에 생성 상태를 표시하는 레이블도 만들었습니다. 이 물건은 정말 유용합니다. 뒤에 두 번의 실험에서 이미 생성된 수량이 두 번의 다운된 수량을 초과하는 것을 보았습니다. 긴장된 마음이 풀렸습니다. 다시 수량이 100을 초과하는 것을 보고 기뻤습니다. 마지막에 천천히 수량을 완성할 때~~ 흥분해서 미치겠습니다!!!하~~
에이~ 쓸데없는 소리 좀 해~ 쓸모 있는 코드 몇 줄~

좋은 웹페이지 즐겨찾기