全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1466
推到 Plurk!
推到 Facebook!

請教excel及word的問題

答題得分者是:timhuang
JamesLiang
初階會員


發表:54
回覆:78
積分:31
註冊:2003-02-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-23 06:10:34 IP:206.204.xxx.xxx 未訂閱
請教先進..領航天使曾經發表過如下程式..是否有先進可以解說一番?? 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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-23 10:03:30 IP:211.76.xxx.xxx 未訂閱
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;
系統時間:2024-06-27 3:31:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!