(以下の私の編集を参照してください。更新済み:とマークされています。)
これが実際のコードである場合
XLApp.Workbooks [1]. Worksheets. [1] Name: = 'Sheet1';
に構文エラーがありますWorksheets.[1]Name
。(.
は間違った場所にあります。)
XLApp.Workbooks[1].Worksheets[1].Name := 'Sheet1';
これは、XE3でうまく機能します:
var
XLApp: OleVariant;
begin
XLApp := CreateOleObject('Excel.Application');
XLApp.Visible := True;
XLApp.Workbooks.Open('C:\Test\Test.xls');
XLApp.Workbooks[1].Worksheets[1].Name := 'New Sheet Name';
end;
更新:あなたのコメントの後、私はあなたが抱えている問題が何であるかを理解していると思います.
ここであなたを混乱させていると思いError Insight
ます(赤い下線と「未定義の識別子」ポップアップ、実際には間違っています)。
ここに投稿したコードは、ここに投稿する前に XE3 でコンパイルして実際に実行したもので、動作します。しかし、カーソルを の上に置くとWorksheets
、Undeclared identifier
ポップアップと赤い下線が表示されます。もちろん、それはある意味で正しいです-宣言されてWorksheets
いません。CreateOleObject
ただし、遅延バインディング (実行時に使用) を使用している場合は、そうである必要はありません。
Error Insight
バグがあります(IDEに追加されて以来です)。(バグが修正されていないことがわかった場合) 私が最初に行うことは、それをオフにすることです ([ツール] -> [オプション] -> [エディター オプション] -> [コード インサイト] でError Insight
、右側のチェックを外します)。代わりに、実際のコンパイラーに物事を理解させてください。