当前位置: 首页 > article >正文

Vba实现复制文本到剪切板

复制字符串到剪切板: 

Sub PutDataInClipboard()

    Dim objShell As Object

    Dim strInt As String

    strInt = "12345"

    Set objShell = CreateObject("WScript.shell")

    objShell.Run "cmd /C echo|set/p=" & strInt & "| CLIP", 2

End Sub

复制任意文件到剪切板: 

 

9d74e3d6dba54969812d3c2734f98007.png


Private Declare PtrSafe Sub Sleep Lib "KERNEL32" (ByVal dwMilliseconds As Long)

 

Sub test()

    Dim arr

    Dim name As String

    Dim msg As String

    Dim k As Long, j As Long

    Dim n As Long

   

    Rem 判断微信是否已打开

    If 判断微信是否打开() = False Then

        MsgBox "请先打开微信!"

        Exit Sub

    End If

   

    Rem 选择文件夹

    Dim folderPath As String

    folderPath = SelectFolder()

    If folderPath = "" Then Exit Sub

    folderPath = folderPath & "\"

   

    Rem 遍历文件

    Dim arrFile() As String

    Dim trr

    trr = GetFileName(folderPath)

    If Not IsArray(trr) Then

        MsgBox "未找到文件!"

        Exit Sub

    End If

    ReDim arrFile(1 To UBound(trr))

    For k = 1 To UBound(trr)

        arrFile(k) = trr(k)

    Next

   

   

    Rem 根据路径打开微信程序

' Shell "D:\SoftInstall\WeChat\WeChat.exe"

   

    n = Range("A" & Rows.Count).End(xlUp).Row

    arr = Range("A1").Resize(n, 2).Value

   

    Rem Ctrl + Alt + W 打开微信界面

    SendKeys "^%w"

   

    For k = 1 To n

        name = arr(k, 1) '微信名

        msg = arr(k, 2) '信息

        

        Rem 微信名写入剪贴板(测试发现有些微信息使用 Sendkeys 发送不成功,改用剪贴板)

        Call 文本写入剪贴板(name)

        Sleep 500 '延时等待

        

        Rem 在微信中按 Ctrl + F 搜索

        SendKeys "^f"

        Sleep 500

        

        SendKeys "^A"

        Sleep 50

        

        Rem Ctrl + V 粘贴微信名

        SendKeys "^v"

        Sleep 500

        

        Rem 回车,打开对话框

        SendKeys "{Enter}"

        Sleep 500

        

        Rem 输入信息

        SendKeys msg

        Sleep 500

        

        Rem 发送信息

        SendKeys "{Enter}"

        Sleep 500

        

        Rem 调用API,一次性复制多个文件

        CutOrCopyFiles arrFile

        Sleep 500

        

        Rem 粘贴文件

        SendKeys "^v"

        Sleep 500

        

        Rem 发送文件

        SendKeys "{Enter}"

        Sleep 500

        

        Rem 调用API,逐个复制文件

' For j = 1 To UBound(arrFile)

' Rem 复制文件到剪贴板

' clipCopyFile (folderPath & arrFile(j))

' Sleep 500

'

' Rem 粘贴文件

' SendKeys "^v"

' Sleep 500

'

' Rem 发送文件

' SendKeys "{Enter}"

' Sleep 500

' Next

    Next

   

    Rem 以上代码执行结束后,NUM 键熄灭,再按一次

    SendKeys "{NUMLOCK}" '按下数字锁定键

    SendKeys "%{Tab}" 'Alt + Tab 返回 Excel 界面

   

End Sub


http://www.kler.cn/a/415626.html

相关文章:

  • 【Leetcode 每日一题 - 补卡】3259. 超级饮料的最大强化能量
  • 第J7周:对于RenseNeXt-50算法的思考
  • Java设计模式 —— 【创建型模式】工厂模式(简单工厂、工厂方法模式、抽象工厂)详解
  • 【动手学电机驱动】STM32-FOC(8)MCSDK Profiler 电机参数辨识
  • vue3-setup基本使用(非响应式数据)
  • nodejs相关知识介绍
  • 从0开始学PHP面向对象内容之常用设计模式(享元)
  • linux下Qt程序部署教程
  • 设计模式学习之——观察者模式
  • 在openEuler中使用top命令
  • 【C++】list模拟实现(完结)
  • 电子电气架构 --- 面向服务的汽车诊断架构
  • 【docker】细致且具有时效性的docker在ubuntu的安装,新鲜出炉
  • python图像彩色数字化
  • PVE相关名词通俗表述方式———多处细节实验(方便理解)
  • 实践五 网络安全防范技术
  • Android复习代码1-4章
  • Codigger Desktop:多样 Look 设计,全新 Game Look 带来趣味体验
  • 数据结构——哈夫曼编码
  • 鸿蒙学习相关术语
  • 如何画出漂亮的决策树?
  • 【maven-4】IDEA 配置本地 Maven 及如何使用 Maven 创建 Java 工程
  • 自动类型推导(auto 和 decltype);右值引用和移动语义
  • mysql8.0基础-锁基础(七)
  • neo4j desktop版命令行中导入导出dump
  • Unity之一键创建自定义Package包