VBA-检测其他程序中的粘贴操作

时间:2016-12-20 02:44:25

标签: excel vba excel-vba

我的目标:向Microsoft Excel发出通知,告知我已将剪贴板的内容粘贴到任何其他窗口中,以便它随后选择行中的下一项并复制它。

例如,在第一行如下所示的电子表格中:

A,b,c,d,e,f,g,h

如果我要复制A,打开记事本(或任何其他程序),然后粘贴,excel将继续复制b。如果我再次粘贴到记事本中,它会选择并复制C,在功能上允许我只复制A,然后能够进入另一个程序并按下ctrl-v 7次并在我的输出中获得A到H。

这是一个奇怪的问题,在一个易于自动化的世界中,似乎非常低效。但是,我受到法律合同的约束,不使用某种自动化。然而,这将属于我在法律允许的范围内。

有没有人有任何想法?我无法找到有关此类问题的任何文档。

1 个答案:

答案 0 :(得分:0)

您可以遍历单元格并直接写入文本文件。变量“x”在列上移动。变量“n”是在移动到下一列之前打印它的次数。

Sub textfile()

Dim PrintVal As String
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim Filename As Object

Set Filename = fso.CreateTextFile("C:\print.txt", True, True)


For x = 0 To 7

PrintVal = Cells(1, 1 + x).Value

For n = 1 To 7
Filename.write PrintVal
Next n

Next x

Filename.Close

End Sub