繁体   English   中英

Excel 宏 - 将两个宏组合为“一个按钮”

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM