【问题标题】:Spacing One Picture per Page每页间隔一张图片
【发布时间】:2019-10-24 09:06:33
【问题描述】:

我目前必须将许多图片 (jpeg) 附加到 excel 文档并将其导出为 pdf。我需要每页一张图片。

我正在使用以下代码,但无济于事。

For j = 0 To i
        Cells(2, 1).Activate
        Let pm = "Q:\Public\ACCE LINEAR\IRAD Photomics\A 350 Frame Photomics " & dat & "\" & sn & "\PHOTOMICS" & j & ".jpg"
        ws1.Pictures.Insert(pm).Select
        incr = 660 * (j + 1)
        Selection.ShapeRange.IncrementTop incr
    Next j

我激活单元格 A2,以便每次最初将图片放置在同一位置。然后我将图片向下移动一定量,如变量“incr”所定义的那样。起初我玩弄了这个数字(660),直到它起作用,然后继续下一个报告。问题是对一份报告有效的方法对另一份报告无效。

我觉得这很令人惊讶,因为我将打印区域(我相信它决定了页面的长度)设置为包含所有列。尽管每个报表都有唯一数量的行,但它们每个都有完全相同数量的列。因此,每张纸的打印区域应该相同,并且每张图片的尺寸完全相同,这样数字就不必因报告而异。

【问题讨论】:

    标签: excel vba pdf


    【解决方案1】:

    我仍然不明白为什么当从一张纸到另一张的打印区域完全相同时,我之前的间距想法不起作用。但是,知道打印区域是相同的,我改为激活每个页面的左上角单元格并将每张图片插入该单元格。这样可以确保将excel文件导出为PDF时,图片不会被剪切。

    这是我使用的代码。代码中之前定义了一些变量,但你应该明白了

    b = counter - 1
    For j = 0 To b
        a = j + 1
        If i > 24 Then a = j + 2
        incr = (42 * a) - j
        Cells(incr, 1).Activate
        ws1.Pictures.Insert(MyFolder & "\" & PMArray(j)).Select
    Next j
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-15
      相关资源
      最近更新 更多