SAP ABAP Microsoft Excel 在剪贴板上有大量信息。是否保留其内容,以便此后粘贴到其他程序中?
引言: 在 SAP 批导/上载 Excel 文件时,出现“在剪贴板上有大量信息。是否保留其内容,以便此后粘贴到其他程序中?”的弹窗提示,无论点击“是”、“否”、“取消”最终批导/上载都失败,数据为空。
关键字:SAP
ABAP
Excel批导上载
ALSM_EXCEL_TO_INTERNAL_TABLE
在剪贴板上有大量信息
1. 问题描述
- 弹窗文本
在剪贴板上有大量信息。是否保留其内容,以便此后粘贴到其他程序中?
·要保存剪贴板上的信息,请单击”是”按钮。
·要删除其中的信息以释放内存,请单击”否”按钮。 - 弹窗截图
- Debug 截图
在任务管理器中结束 Excel 进程后仍不能解决。
2. 原因分析
- 技术原因
批导/上载程序使用了 ole2 技术,如 ABAP 经典 Excel 处理函数 ALSM_EXCEL_TO_INTERNAL_TABLE ,因为 ole2 技术是通过粘贴板 clipboard_import 和 clipboard_export 来实现数据复制的,所以如果在批导/上载前,存在大量数据的复制(CTRL + C)就会触发这个提示。
3. 解决办法
- 几种非技术解决办法
-
(1)任意复制一个单元格,然后关闭 Excel ,执行批导/上载
注意事项:如果批导/上载仍不成功,需要新开一个 SAP 窗口,关闭原 SAP 窗口,我猜这应该是原始 SAP 窗口还记录着这个信息,盲猜和 SAP GUI 选项的内容相关。
-
(2)关闭 Excel 剪贴板收集功能
-
(3)重启电脑,重启大法好
-
(4)2024-05-21追加粉丝
Guru_Nick
的更新:我把小米电脑管家关掉就正常了。
按此思路,有360管家、QQ管家之类的也可以做此尝试。
-
- 技术解决办法
- (1)通过 Application.CutCopyMode = False 直接关闭剪贴板,把复制的信息从剪贴板中清空
最后,不要纠结这个问题, Focus 原本的事情。
4. 相关文章合集
SAP ABAP 我的文章合集:ABAP and Excel
其他
我的微信群、QQ群和其他发布平台。
长期提供开发和运维服务。