[英]Excel macro - combinig two macros to "one button"
我设置了两个宏来使用剪贴板,我想将它们组合到我的 excel 中的“一键式”按钮。 我对 excel 宏很陌生,任何形式的帮助都非常有用。
宏 1 - 将设置文本复制到剪贴板
Function Clipboard(Optional StoreText As String) As String
'PURPOSE: Read/Write to Clipboard
'Source: ExcelHero.com (Daniel Ferry)
Dim x As Variant
'Store as variant for 64-bit VBA support
x = StoreText
'Create HTMLFile Object
With CreateObject("htmlfile")
With .parentWindow.clipboardData
Select Case True
Case Len(StoreText)
'Write to the clipboard
.setData "text", x
Case Else
'Read from the clipboard (no variable passed through)
Clipboard = .GetData("text")
End Select
End With
End With
End Function
Sub Click_to_Clip()
'Copy text to the clipboard
Clipboard "makes my happy!"
'To read text from the clipboard:
'MsgBox Clipboard
End Sub
宏 2 - 它从剪贴板复制文本
Sub Click_from_Clipboard()
'This works only with text!
Dim oData As Object
'New MSForms.DataObject with guid and late binding
Set oData = CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
'Get text from clipboard
'to the DataObject
oData.GetFromClipboard
'Show text
MsgBox oData.GetText
End Sub
我想要的是例如。 从 www 复制一个单词“Cake”(Ctrc+c 到剪贴板),然后单击 excel 中的“按钮”,然后在 word 文档上 ctrl+v 并获得句子“Cake makes me happy”。 (来自 www 页面的“蛋糕”,“让我快乐”在宏 1 中预定义)。
你能提供任何帮助吗? 提前致谢。
你已经有了所有的碎片,我只是为你把它们组合起来。
Sub Click_to_Clip()
Clipboard " makes my happy!"
End Sub
Sub Clipboard(Optional StoreText As String)
'PURPOSE: Read/Write to Clipboard
Dim x As Variant, oldCB As Object, oldText As String
Set oldCB = CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
oldCB.GetFromClipboard
oldText = oldCB.GetText
'Store as variant for 64-bit VBA support
x = oldText & StoreText
CreateObject("htmlfile").parentWindow.clipboardData.setData "text", x
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.