以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  能不能帮我改一下这个代码。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=147456)

--  作者:hongye
--  发布时间:2020/3/17 12:59:00
--  能不能帮我改一下这个代码。
Dim dru1 As DataRow
dru1 = DataTables(fr & "订单核价系统").Find("客户 = \'" & kh.Text & "\'And 客户担当 = \'" & kd.Text & "\'And 类别 = \'" & lb.Text & "\'And 品名 = \'" & pm.Text & "\'And 款号 = \'" & ks.Text & "\'And 样衣款号 = \'" & yk.Text & "\'")
Dim tm As String  = ProjectPath & "RemoteFiles\\kt\\" \'指定模板文件
Dim Rgf As MSExcel.Range = Ws.Range("N2:P" & Rgh.Rows.Count-6)
Rgf.Value = New XLS.Picture(GetImage(tm & dru1("样衣款号") & dru1("款号") & ".jpg"))


图片点击可在新窗口打开查看此主题相关图片如下:01.jpg
图片点击可在新窗口打开查看

这个代码怎么写?


--  作者:有点蓝
--  发布时间:2020/3/17 13:53:00
--  
msgbox(tm & dru1("样衣款号") & dru1("款号") & ".jpg") 路径正确?本机下载有这个文件了吗?
--  作者:有点蓝
--  发布时间:2020/3/17 13:57:00
--  
MSExcel.Range是vba的用法,XLS.Picture是XLS.Book的用法。这2个不是同一个东西,不能混用。

vba添加图片参考:
Dim App As New MSExcel.Application
try
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("E:\\问题\\abc.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:\\问题\\abc1.xlsx")
    app.quit
catch ex As exception
    msgbox(ex.message)
    app.quit
End try

语法
ws.Shapes.AddPicture("文件路径", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue,插入点左边距插入点上边距图片宽,图片高)

--  作者:hongye
--  发布时间:2020/3/17 15:51:00
--  
能不能让图片按比例拉伸,不让图片变形呢?
--  作者:有点蓝
--  发布时间:2020/3/17 15:56:00
--  
自己计算比例,比如1200X800的图片,如果高度固定100,宽度就是 100 / 800 * 1200 = 150,插入的图片大小就是150X100
--  作者:hongye
--  发布时间:2020/3/17 16:11:00
--  
如何知道图片大小?
--  作者:有点蓝
--  发布时间:2020/3/17 16:17:00
--  
参考:http://www.foxtable.com/webhelp/topics/2714.htm