gpt4 book ai didi

excel - 从Excel中获取图像的位置并将其显示在文本框中

转载 作者:行者123 更新时间:2023-12-02 07:22:02 29 4
gpt4 key购买 nike

我在 VB6 中有一段代码,可以将来自 Excel 的图像显示到图片框中,下面是该代码。

Dim appExcel As Excel.Application
Dim xlsBook As Excel.Workbook
Dim xlsSheet As Excel.Worksheet
Dim img As Image
Set appExcel = New Excel.Application
Set xlsBook = appExcel.Workbooks.Open(Text1.Text)
Set xlsSheet = xlsBook.Worksheets("Sheet1")
Dim x As Excel.Shape

For Each x In xlsSheet.Shapes
x.Copy
Picture1.Picture = Clipboard.GetData(vbCFBitmap)
Text2.Text = x.Name
Next

在图片框附近我还有一个文本框,我的目标是显示图像的单元格位置。我怎样才能实现这一目标?

这是更新。

我有一个如下所示的 Excel 格式。

enter image description here

根据上面的代码,我可以将图像从 Excel 显示到图片框,以显示靠近它的每个对象。我的问题是还可以获得它们下面的标签吗?

已更新。

enter image description here

根据我使用的格式,我尝试在每个图像下面添加一个名为Image Name的新列,并将名称命名为IMAGE 1...直到IMAGE 9 因为我有 9 张图像,现在这是我的代码。

  Dim appExcel As Excel.Application
Dim xlsBook As Excel.Workbook
Dim xlsSheet As Excel.Worksheet
Dim img As Image
Dim rowlocation As Integer
Dim columnlocation As Integer
Dim celladdress As String

Set appExcel = New Excel.Application
Set xlsBook = appExcel.Workbooks.Open(Text1.Text)
Set xlsSheet = xlsBook.Worksheets("Sheet1")


Dim x As Excel.Shape


For Each x In xlsSheet.Shapes
x.Copy
Picture1.Picture = Clipboard.GetData(vbCFBitmap)
Text2.Text = x.Name
rowlocation = x.TopLeftCell.Row
columnlocation = x.TopLeftCell.Column
celladdress = Cells(rowlocation + 3, columnlocation + 1).Address(RowAbsolute:=False, ColumnAbsolute:=False)
MsgBox ActiveSheet.Range(celladdress)

Next

发生的情况是,当选择图像时,正确的图像名称不会出现例如在Image 2中,图像名称而是单词图像名称 将显示。

最佳答案

假设Shape包含在单个单元格中,您可以使用:

x.TopLeftCell.Address

对于一张图片,它很可能覆盖多个单元格,因此您可以构建它所占据的完整单元格范围:

x.TopLeftCell.Address & ":" & x.BottomRightCell.Address

关于excel - 从Excel中获取图像的位置并将其显示在文本框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40901746/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com