0

VBA を使用して、ある図形から別の図形にセクションをコピーする方法はありますか? 私は特に、あるページシートから別のページにすべてのカスタム プロパティとユーザー セルをコピーしようとしています。

4

1 に答える 1

1

残念ながら、これを行う簡単な方法はありません。ソース シートのすべての行をループし、宛先シートに同じ行を作成する必要があります。例えば:

Dim oPageSheet1 As Visio.Shape
Dim oPageSheet2 As Visio.Shape
Dim rowName     As String
Dim i   As Integer

Set oPageSheet1 = Visio.ActiveDocument.Pages.Item(1).PageSheet
Set oPageSheet2 = Visio.ActiveDocument.Pages.Item(2).PageSheet

i = visRowUser

While oPageSheet1.CellsSRCExists(visSectionUser, i, visUserValue, False)
    oPageSheet2.AddNamedRow visSectionUser, oPageSheet1.Section(visSectionUser).Row(i).NameU, 0
    oPageSheet2.Section(visSectionUser).Row(i).Name = oPageSheet1.Section(visSectionUser).Row(i).Name
    oPageSheet2.CellsSRC(visSectionUser, i, visUserValue).FormulaU = oPageSheet1.CellsSRC(visSectionUser, i, visUserValue).FormulaU
    oPageSheet2.CellsSRC(visSectionUser, i, visUserPrompt).FormulaU = oPageSheet1.CellsSRC(visSectionUser, i, visUserPrompt).FormulaU
    i = i + 1
Wend

多数の行をコピーする必要があり、パフォーマンスが考慮される場合は、AddRowsおよびSetFormulasを使用して調査する必要があります。

于 2009-01-08T21:45:05.953 に答える