ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 160|回复: 3

[求助] VBA中用户窗体截图

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-9-26 07:32 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
各位老师求助一下,有没有办法通过用户窗体中的命令按钮,对已查询的用户窗体信息进行截图并保存在ThisWorkbook的途径中。

TA的精华主题

TA的得分主题

发表于 2024-9-26 08:27 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
查询到的结果,用代码直接导出不就行了吗

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-26 08:35 | 显示全部楼层
3190496160 发表于 2024-9-26 08:27
查询到的结果,用代码直接导出不就行了吗
  1. Private Sub UserForm_Initialize()
  2.     Dim i As Integer
  3.     For i = 1 To 43
  4.         Me.Controls("TextBox" & i).BackColor = vbButtonFace
  5.     Next i
  6. End Sub

  7. Private Sub CommandButton1_Click()

  8.     Dim rng48 As Range, rng46 As Range
  9.    
  10.     Dim i As Integer
  11.    
  12.     Dim searchValue48 As String, searchValue46 As String
  13.    
  14.     Dim folderPath As String, fileName As String, photoPath As String

  15.     ' 获取TextBox48和TextBox46的值
  16.    
  17.     searchValue48 = Trim(UserForm1.TextBox48.Text)
  18.    
  19.     searchValue46 = Trim(UserForm1.TextBox46.Text)

  20.     ' 检查搜索值是否为空
  21.    
  22.     If searchValue48 = "" Or searchValue46 = "" Or ComboBox1 = "" Then
  23.    
  24.         MsgBox "请输入搜索值!", vbExclamation
  25.         
  26.         Exit Sub
  27.     End If

  28.     ' 查找TextBox48对应的信息并填充到TextBox中
  29.    
  30.     Set rng48 = Sheet2.Range("A:A").Find(searchValue48, LookIn:=xlValues, LookAt:=xlWhole)
  31.    
  32.     If rng48 Is Nothing Then
  33.    
  34.         MsgBox "你搜索的工艺不存在(新工艺编号)", vbInformation
  35.         
  36.         Exit Sub
  37.         
  38.     End If

  39.     ' 填充数据到文本框
  40.     For i = 1 To 44
  41.    
  42.         Me.Controls("TextBox" & i).Text = rng48.Offset(0, i).Value
  43.         Me.Controls("TextBox" & i).BackColor = vbButtonFace ' 重置背景色
  44.         Me.Controls("TextBox" & i).ForeColor = vbBlue ' 重置前景色
  45.         
  46.     Next i

  47.     ' 查找TextBox46对应的信息并对比
  48.    
  49.     Set rng46 = Sheet2.Range("A:A").Find(searchValue46, LookIn:=xlValues, LookAt:=xlWhole)
  50.     If rng46 Is Nothing Then
  51.    
  52.         MsgBox "你搜索的工艺不存在(现有工艺编号)", vbInformation
  53.         
  54.         Exit Sub
  55.         
  56.     End If

  57.     ' 对比TextBox48和TextBox46的信息,并设置背景色
  58.     For i = 1 To 43
  59.    
  60.         If rng46.Offset(0, i).Value <> rng48.Offset(0, i).Value Then
  61.         
  62.             Me.Controls("TextBox" & i).ForeColor = vbRed
  63.             
  64.         End If
  65.     Next i

  66. folderPath = ThisWorkbook.Path & "\照片" ' 替换为你的搜索值

  67. ' 首先尝试查找.jpg文件
  68. fileName = Dir(folderPath & "" & searchValue48 & ".JPG")

  69. ' 如果没有找到.jpg文件,则尝试查找.png文件
  70. If fileName = "" Then
  71.     fileName = Dir(folderPath & "" & searchValue48 & ".PNG")
  72. End If

  73. ' 如果找到了文件,则加载图片
  74. If fileName <> "" Then
  75.     photoPath = folderPath & "" & fileName
  76.     UserForm1.Image1.Picture = LoadPicture(photoPath)
  77.     UserForm1.Image1.PictureSizeMode = fmPictureSizeModeStretch
  78. Else
  79.     UserForm1.Image1.Picture = Nothing
  80. End If

  81.     searchValue46 = Me.TextBox46.Value
  82.    
  83.     searchValue48 = Me.TextBox48.Value
  84.    
  85.     Set ws = ThisWorkbook.Sheets("查询记录")
  86.    
  87.     lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row + 1
  88.    
  89.    ' 记录查询内容
  90.     ws.Cells(lastRow, 1).Value = Me.ComboBox1.Value
  91.    
  92.     ws.Cells(lastRow, 2).Value = searchValue46
  93.    
  94.     ws.Cells(lastRow, 3).Value = searchValue48
  95.    
  96.     ws.Cells(lastRow, 4).Value = Now
  97.    
  98. End Sub
复制代码



老师,这是我写的代码,我的需求是查询出来的窗体信息进行截图放到一个文件夹内,到时候会把这些图片在电视屏幕上进行滚动播放

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-26 09:44 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-19 03:25 , Processed in 0.033899 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表