首页 > 解决方案 > Excel VBA通​​过excel电源查询使用动态文件路径自动更新表单图像

问题描述

简短说明该程序的目标是什么。我有 3 个光学传感器,3 个图像将通过 FTP 服务器发送到文件夹中。我在 excel 中有一个电源查询,每 1 秒更新一次并被过滤,因此最新的图片如上所示,此路径用于将其与表单链接。

现在我想以表格形式显示该特定文件夹的最后 3 张图片。目前以下工作(最新):

什么不工作: - 当新图片从 FTP 服务器到达时自动更新表单中的图像。如何在 VBA 表单中一直显示最后一张图片?无需按任何按钮

这是代码:

Private Sub StartBtn_Click()

Image1.picture = LoadPicture("C:\Users\svanheme\Desktop\" & Range("A2").Value)
Image2.picture = LoadPicture("C:\Users\svanheme\Desktop\" & Range("A3").Value)
Image3.picture = LoadPicture("C:\Users\svanheme\Desktop\" & Range("A4").Value)
    UserForm1.CheckBox1.Value = True
    Call Calculate_Range

End Sub

Private Sub StopBtn_Click()

 UserForm1.CheckBox1.Value = False
End Sub


Public Sub Calculate_Range()
       
       
    If (UserForm1.CheckBox1.Value = True) Then

        ActiveWorkbook.RefreshAll
        Range("H2:H6").Calculate
      
        'IF I DO THIS IT GIVES AN ERROR AND I DONT KNOW WHY THIS IS.
        'Image1.picture = LoadPicture("C:\Users\svanheme\Desktop\" & Range("A2").Value)
        'Image2.picture = LoadPicture("C:\Users\svanheme\Desktop\" & Range("A3").Value)
        'Image3.picture = LoadPicture("C:\Users\svanheme\Desktop\" & Range("A4").Value)

        Application.OnTime DateAdd("s", 1, Now), "Calculate_Range"
End If
 
    If (UserForm1.CheckBox1.Value = False) Then
  
        
End If

End Sub

如果有人可以建议我,那就太好了。

亲切的问候,

桑德

标签: excelvba

解决方案


推荐阅读