以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=145437)

--  作者:swimmer01
--  发布时间:2020/1/19 17:19:00
--  [求助]
老师,你好!
我有一excel表,用代码引用图片后,出现两个莫名其妙的问题:1:部分文字大小变了,原来表上的LOGO也变了,2:存为PDF后,自动页码也变了,找了很长时间的原因,都无果,望老师指导。
代码:代码运行正常
Dim Book As New XLS.Book(ProjectPath & "Temp\\电气设计表格.xlsx")  \'定义一个Excel工作簿

        Dim Sheet As XLS.Sheet = Book.Sheets(book.sheets(1).Name) \'引用工作簿中的工作表
            Sheet(1,1).Value = New XLS.Picture(GetImage(ProjectPath & "Temp\\编制人.png"),3,3,120,30)
            Sheet(2,1).Value = New XLS.Picture(GetImage(ProjectPath & "Temp\\校核人.png"),3,3,120,30)
            Sheet(3,1).Value = New XLS.Picture(GetImage(ProjectPath & "Temp\\审核人.png"),3,3,120,30)
Book.SaveToPdf(ProjectPath & "Temp\\电气设计表格3.xlsx") \'保存工作簿

运行结果的截图在附件中,谢谢!


--  作者:有点蓝
--  发布时间:2020/1/19 17:31:00
--  

execl文件和图片发上来测试一下
--  作者:swimmer01
--  发布时间:2020/1/19 17:34:00
--  
表格与图片已在附件中上传
--  作者:有点蓝
--  发布时间:2020/1/19 17:36:00
--  
上传附件:http://foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78

如果一次上传不成功,多试几次

--  作者:swimmer01
--  发布时间:2020/1/20 1:13:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:电气设计表格.xlsx


图片点击可在新窗口打开查看此主题相关图片如下:捕获1.png
图片点击可在新窗口打开查看
excel表,用代码引用图片后,出现两个莫名其妙的问题
图片点击可在新窗口打开查看此主题相关图片如下:捕获2.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2020/1/20 10:33:00
--  
1、编制单元格的坐标是3,1,不是1,1,索引从0开始
Sheet(3,1).Value = New XLS.Picture(GetImage(ProjectPath & "Temp\\编制人.png"),3,3,120,30)

2、表格实际的行数是927行,可能是设置各种格式的原因,这种格式也被当做是有效数据导出pdf的
Dim Book As New XLS.Book( "E:\\问题\\电气设计表格.xlsx")  \'定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(book.sheets(1).Name) \'引用工作簿中的工作表
Output.Show(Sheet.Rows.Count)

3、这个表格受保护被锁住了,不知道是不是这个原因,导致logo问题
或者试试使用vba添加图片,下面代码在没有被锁的execl文件是可以的

Dim App As New MSExcel.Application
try
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("E:\\问题\\电气设计表格.xlsx")
    Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
    Dim Rg As MSExcel.Range = Ws.Range("B4") \'编制单元格的坐标
     ws.Shapes.AddPicture("E:\\问题\\123.gif", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue,Rg.left, Rg.Top, 120, 30)
    Wb.SaveAs("E:\\问题\\电气设计表格4.xlsx")
    app.quit
catch ex As exception
    msgbox(ex.message)
    app.quit
End try

--  作者:swimmer01
--  发布时间:2020/1/20 11:21:00
--  
谢谢!老师,我再试一下,看能不能解决