我正在将数据从excel复制到记事本,并且使用 SendKeys
excel VBA功能成功 .
但我正在寻找可以帮助我避免使用sendkeys的任何工作 .
我现在有这个代码:
sub test()
dim wb as Workbook
set wb = "C:\Documents\test.xlsx"
wb.Sheets(2).Range("C2:C" & lRow).Copy
myApp = Shell("Notepad.exe", vbNormalFocus)
SendKeys "^v"
Application.CutCopyMode = False
wb.Sheets(2).Range("C2:C" & lRow).NumberFormat = "@"
end sub
这只复制了从excel到记事本的数据,但在excel文件中进行了一些修正之后,我希望从记事本中复制的数据再次从C2开始复制到excel .
5 回答
这是
SendKeys
的另一个过程:从工作表上的一系列单元格中获取值
副本到剪贴板
将剪贴板内容转换为字符串
将该字符串保存到临时文件
打开带有临时文件内容的Notepad.exe
码:
您可以使用文件系统对象写入文本文件:
欲了解更多信息,请访问:https://technet.microsoft.com/en-us/library/ee198716.aspx
有点太晚了,但您可以将数据复制到剪贴板并将其粘贴为文本(已测试并正常工作):
这可能是非常好的东西:
将此复制到另一张表:
wb.Sheets(2).Range("C2:C" & lRow).Copy
将此工作表另存为
*.csv
文件:Saving excel worksheet to CSV files with filename+worksheet name using VB然后* .csv文件是记事本文件 . :)