sách gpt4 ai đã đi

vba - 移动图像而不复制/粘贴

In lại 作者:行者123 更新时间:2023-12-02 17:59:14 27 4
mua khóa gpt4 Nike

现在我有一个 Word 宏,可以通过将图像复制并粘贴到该位置来将图像移动到特定文本前面。这种方法效果很好,但成本很高。如果我的 Word 文档中有 1,000 张图像,则运行宏可能需要 30 分钟。

一定有更好的方法吧?

我可以移动图像 anchor 而不复制/粘贴整个图像吗?

我的最终目标是获取在表格中对齐的文本+图像(文本向左,图像向右),将其从表格中分离出来,但保持左/右性质。

具体来说,我正在表格(第 1 行第 2 列)中查找图像,并希望将它们移动到同一个表格中文本的开头(第 1 列、第 1 行)。这是一个片段:

For Each shape In innerTable.Cell(1, 2).Range.InlineShapes
If shape.Type = wdInlineShapePicture Then
shape.Select
Selection.Cut
innerTable.Range.Paragraphs(1).Range.Characters(1).Paste
'Do it only for the 1st image found:
Exit For
End If

Next

请注意,为了简单起见,我省略了一些安全检查(假设我已经找到了有效大小的表格等。

1 Câu trả lời

如果目标位于同一页面上,则只能移动形状。在这种情况下,可以通过更改形状的顶部和左侧属性来移动形状。不幸的是(非常),无法通过更改 anchor 来移动图像。因此,将图像移动到另一个页面(或故事)的唯一方法是使用复制/粘贴。

如果要移动 InlineShape,只需将 InlineShape.Range.FormattedText 分配给目标 Range 即可。或者,使用文本扩展范围以也包括 InlineShape。对于 Word 而言,InlineShape 是一个字符。

实现既定的最终目标

take text + an image that is aligned in a table (text left, image right), break it out of the table, but maintain that left/right nature

使用右侧带有附加列的表格。将图像作为 InlineShape 放入其中。然后可以处理整行,例如如下。

这会在所需位置创建一个新行,并将要移动到新行的行的 Range.FormattedText 复制。删除由此创建的附加行并删除原始行。

Sub MoveRow()
Dim tbl As Word.Table
Dim rwToMove As Word.Row
Dim rwTarget As Word.Row
Dim rwBeforeTarget As Word.Row
Dim posNewRow As Long

posNewRow = 1
Set rwToMove = Selection.Rows(1)
Set tbl = rwToMove.Range.Tables(1)
Set rwBeforeTarget = tbl.Rows(posNewRow)
Set rwTarget = tbl.Range.Rows.Add(rwBeforeTarget) '(posNewRow)
rwTarget.Range.FormattedText = rwToMove.Range.FormattedText
tbl.Rows(posNewRow + 1).Delete
rwToMove.Delete
End Sub

关于vba - 移动图像而不复制/粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55417926/

27 4 0
Bài viết được đề xuất: r - 计算给定值的百分位数
Bài viết được đề xuất: html - 如何从 TembeddedWB 内的资源加载图像
Bài viết được đề xuất: java - 进行 null 检查的更短方法
Bài viết được đề xuất: maven - 使用 Maven 运行 JUnit 测试套件
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com