Delphi运行时如何将剪贴板内容粘贴至Excel表格
解决方案:运行时将Windows剪贴板内容粘贴到Excel电子表格
要实现剪贴板内容粘贴到Excel,核心是通过Excel的OLE对象调用粘贴方法,以下是修改后的完整代码及关键说明:
修改后的完整代码
uses Vcl.Clipbrd, System.Win.ComObj{CreateOLEObject}; var xls, wb, ws: OLEVariant; begin try // 创建Excel应用实例 xls := CreateOLEObject('Excel.Application'); // 创建新工作簿 wb := xls.Workbooks.Add; // 获取第一个工作表 ws := wb.Worksheets[1]; // 清空剪贴板并设置测试文本 Clipboard.Clear; Clipboard.AsText := 'Test Text'; // 方法1:选中目标单元格后粘贴 ws.Range['A1'].Select; xls.Selection.Paste; // 方法2:直接指定单元格粘贴(无需选中) // ws.Range['A1'].PasteSpecial; // 显示Excel窗口 xls.Visible := True; except on E: Exception do begin MessageDlg('错误信息:' + E.Message, mtWarning, [mbOk], 0); end; end; end;
关键说明
- 必须先获取工作表对象
ws,用于定位粘贴的目标位置; - 如果需要精准控制粘贴类型(如仅粘贴文本、保留格式等),可使用
PasteSpecial方法,并指定对应的参数:// 仅粘贴文本内容(xlPasteValues对应数值-4163) ws.Range['A1'].PasteSpecial(-4163);
内容的提问来源于stack exchange,提问作者Yuppski
相关产品推荐
相关产品推荐

