我期待提取每個單元格的文本在給定的範圍在Delphi使用OLE自動化7.掌握的Excel
剛纔我有一個Excel電子表格德爾福OLE自動化的文字,而不是價值功能(假設該工作簿已經打開),從工作表中選擇一個範圍,並填充使用.Value2功能Variant數組
function GetExcelRange(const AWorkbookIndex: integer; const AWorksheetIndex: integer; const firstCol, lastCol, firstRow, lastRow: integer): Variant;
var
AWorkbook, ARange: OleVariant;
begin
Result := Unassigned;
if not VarIsEmpty(ExcelApp) then
begin
if ExcelApp.Workbooks.Count >= AWorkbookIndex then
begin
AWorkbook := ExcelApp.Workbooks[AWorkbookIndex];
try
if AWorkbook.Worksheets.Count >= AWorksheetIndex then
begin;
ARange := AWorkbook.WorkSheets[AWorksheetIndex].Range[AWorkbook.WorkSheets[AWorksheetIndex].Cells[firstRow, firstCol],
AWorkbook.WorkSheets[AWorksheetIndex].Cells[lastRow, lastCol]];
Result := ARange.Value2;
end;
finally
AWorkbook := Unassigned;
ARange := Unassigned;
end;
end;
end;
end;
我會想到的是我可以改變路線是Result := ARange.Text
但它返回一個空對象。
當Ole對象處於活動狀態時,我寧願不迭代每個單元格,並將整個範圍的文本粘貼到數組中,就像我在上面做的那樣。
+1,但是讀完你的最後一句話,這個問題實際上是重複的嗎? :-D – 2013-03-06 07:14:49