請教excel及word的問題 |
答題得分者是:timhuang
|
JamesLiang
初階會員 發表:54 回覆:78 積分:31 註冊:2003-02-13 發送簡訊給我 |
請教先進..領航天使曾經發表過如下程式..是否有先進可以解說一番??
MyExcel.WorkBooks[1].WorkSheets[1].Cells.Select;
MyExcel.WorkBooks[1].WorkSheets[1].Cells.ClearContents;
MyExcel.WorkBooks[1].WorkSheets[1].Cells[4,1].Select; //為何選定一個cell??
MyExcel.WorkBooks[1].WorkSheets[1].Cells.Select;
MyExcel.WorkBooks[1].WorkSheets[1].Cells.EntireColumn.AutoFit;
MyExcel.WorkBooks[1].WorkSheets[1].Cells[4,1].Select;
MyExcel.WorkBooks[1].WorkSheets[1].PageSetup.LeftHeader := RangeStr;
//功能何在??
MSWord := CreateOleObject('Word.Application');
FD := 'c:/test.doc';
CopyFile(Pchar(FS),PChar(FD),False);//用意為何??
MSWord.Documents.Open(FD);
MSWord.Application.Visible := True;
if MSWord.ActiveDocument.Bookmarks.Exists(l) then
begin
MsWord.ActiveDocument.Bookmarks.Item(l).Select; //??
if d = '' then d := ' ';//??
MsWord.Selection.TypeText(d);
end;
另外請教的是若我有個標準的worksheet但我需將db內的同欄位不同的值分別置入worksheet(例如我有10個itemno分別放入10個worksheet,每個worksheet的其他欄位內容均同標準的worksheet),我該如何執行??
多謝
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
MyExcel.WorkBooks[1].WorkSheets[1].Cells.Select;
MyExcel.WorkBooks[1].WorkSheets[1].Cells.ClearContents;
MyExcel.WorkBooks[1].WorkSheets[1].Cells[4,1].Select; //為何選定一個cell?? 通常選定一個CELL 的目的就是要對該 cell 進行格式的設定 MyExcel.WorkBooks[1].WorkSheets[1].Cells.Select;
MyExcel.WorkBooks[1].WorkSheets[1].Cells.EntireColumn.AutoFit;
MyExcel.WorkBooks[1].WorkSheets[1].Cells[4,1].Select;
MyExcel.WorkBooks[1].WorkSheets[1].PageSetup.LeftHeader := RangeStr;
//功能何在?? 這個應該是列印設定表頭左上的內容 MSWord := CreateOleObject('Word.Application');
FD := 'c:/test.doc';
CopyFile(Pchar(FS),PChar(FD),False);//用意為何?? 其實就是複製檔案, 這是已由delphi包裝好的 window api複製檔案功能, 可以查 delphi on-line help MSWord.Documents.Open(FD);
MSWord.Application.Visible := True;
if MSWord.ActiveDocument.Bookmarks.Exists(l) then 檢查是否在該文件內的的書籤有名為 l 字串內的內容, 如 l='bookmark1' 的話, 就是檢查是否在文件內有 bookmark1 的書籤
begin
MsWord.ActiveDocument.Bookmarks.Item(l).Select; //?? 將該書籤選取起來
if d = '' then d := ' ';//?? 就只是判斷是否 d 是空字串, 若是則將 d 設為空白 MsWord.Selection.TypeText(d);
end;
引言: 另外請教的是若我有個標準的worksheet但我需將db內的同欄位不同的值分別置入worksheet(例如我有10個itemno分別放入10個worksheet,每個worksheet的其他欄位內容均同標準的worksheet),我該如何執行?? 多謝這樣的話其是就是要加入多張 worksheet 就可以了, 其他的操作方式如同單張的worksheet, 語法如下: procedure TForm1.Button1Click(Sender: TObject); var MSExcel, ExcelBook: Variant; ExcelSheet: Array[1..10] of Variant; i: integer; begin try try MSExcel := CreateOleObject('excel.application'); MSExcel.Visible := True; ExcelBook := MSExcel.WorkBooks.Add; for i:= 1 to 10 do begin ExcelSheet[i] := MSExcel.WorkSheets.Add; ExcelSheet[i].Name := inttostr(i); end; except Application.MessageBox('無法開啟 MS-EXCEL','警告',MB_ICONWARNING); exit; end; //... 進行對每一個 worksheet 的資料寫入 //... 如: PrintToSheet(Qry: TQuery; WorkSheet: Variant); except Application.MessageBox('MS-EXCEL操作失敗','警告',MB_ICONWARNING); exit; end; end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |