Aracılığıyla paylaş


Nasıl Yapılır: Visio Belgelerinde Şekilleri Kopyalama ve Yapıştırma

Programlı olarak belgenin bir sayfasındaki şekilleri kopyalayabilir ve onları aynı belgede yeni bir sayfaya yapıştırabilirsiniz. Onları aynı varsayılan konuma (etkin belgenin merkezi) veya özgün sayfadakiyle aynı koordinat konumlarına yapıştırmayı seçebilirsiniz.

Şekilleri Kopyalama ve Yapıştırma

Nesne modelleri hakkında detaylar için Microsoft.Office.Interop.Visio.Shape.DrawRectangle, Microsoft.Office.Interop.Visio.Shape.DrawOval, Microsoft.Office.Interop.Visio.Shape.Copy ve Microsoft.Office.Interop.Visio.Shape.Paste yöntemleri ve Microsoft.Office.Interop.Visio.VisCutCopyPasteCodes.visCopyPasteNormal bayrağı için VBA başvuru belgelerine bakın.

Şekilleri başka bir sayfanın merkezine kopyalamak

  • Aşağıdaki kod örneğinde şekillerin ilk sayfadan nasıl kopyalandığı ve ikinci sayfanın merkezine nasıl yapıştırılığı gösterilmektedir.

    Me.Application.Documents.Add("")
    Dim copyPage As Visio.Page
    Dim pastePage As Visio.Page
    Dim rectangle As Visio.Shape = Nothing
    Dim oval As Visio.Shape = Nothing
    
    Dim visioPages As Visio.Pages = Me.Application.ActiveDocument.Pages
    
    visioPages.Add()
    
    Try
        copyPage = visioPages(1)
        rectangle = copyPage.DrawRectangle(1.1, 2.2, 4.5, 6.7)
        oval = copyPage.DrawOval(1, 8.75, 3.5, 6.25)
    Catch ex As Exception
        System.Windows.Forms.MessageBox.Show(ex.Message)
    End Try
    
    Try
        pastePage = visioPages(2)
        rectangle.Copy(Visio.VisCutCopyPasteCodes.visCopyPasteNormal)
        pastePage.Paste(Visio.VisCutCopyPasteCodes.visCopyPasteNormal)
        oval.Copy(Visio.VisCutCopyPasteCodes.visCopyPasteNormal)
        pastePage.Paste(Visio.VisCutCopyPasteCodes.visCopyPasteNormal)
    Catch ex As Exception
        System.Windows.Forms.MessageBox.Show(ex.Message)
    End Try
    
    this.Application.Documents.Add("");
    Visio.Page copyPage;
    Visio.Page pastePage;
    Visio.Shape rectangle = null;
    Visio.Shape oval = null;
    
    Visio.Pages visioPages = this.Application.ActiveDocument.Pages;
    
    visioPages.Add();
    
    try
    {
        copyPage = visioPages[1];
        rectangle = copyPage.DrawRectangle(1.1, 2.2, 4.5, 6.7);
        oval = copyPage.DrawOval(1, 8.75, 3.5, 6.25);
    }
    catch (Exception ex)
    {
        System.Windows.Forms.MessageBox.Show(ex.Message);
    }
    
    try
    {
        pastePage = visioPages[2];
        rectangle.Copy(Visio.VisCutCopyPasteCodes.visCopyPasteNormal);
        pastePage.Paste(Visio.VisCutCopyPasteCodes.visCopyPasteNormal);
        oval.Copy(Visio.VisCutCopyPasteCodes.visCopyPasteNormal);
        pastePage.Paste(Visio.VisCutCopyPasteCodes.visCopyPasteNormal);
    }
    catch (Exception ex)
    {
        System.Windows.Forms.MessageBox.Show(ex.Message);
    }
    

Aynı Konumlarla Şekilleri Kopyalama ve Yapıştırma

Nesne modelleri hakkında detaylar için Microsoft.Office.Interop.Visio.Shape.DrawRectangle, Microsoft.Office.Interop.Visio.Shape.DrawOval, Microsoft.Office.Interop.Visio.Shape.Copy ve Microsoft.Office.Interop.Visio.Shape.Paste yöntemleri ve Microsoft.Office.Interop.Visio.VisCutCopyPasteCodes.visCopyPasteNoTranslate bayrağı için VBA başvuru belgelerine bakın.

Yapıştırılan bilginin biçimini denetlemeye ve (isteğe bağlı) kaynak dosyasına (örn. Microsoft Office Word belgesi) bir bağlantı kurmaya ihtiyacınız varsa, PasteSpecial yöntemini kullanın.

Şekilleri ve şekillerin konumlarını başka bir sayfaya kopyalamak

  • Aşağıdaki kod örneğinde şekillerin ilk sayfadan nasıl kopyalandığı ve ikinci sayfaya özgün koordinat konumlarıyla nasıl yapıştırılığı gösterilmektedir.

    Me.Application.Documents.Add("")
    Dim copyPage As Visio.Page
    Dim pastePage As Visio.Page
    Dim rectangle As Visio.Shape = Nothing
    Dim oval As Visio.Shape = Nothing
    
    Dim visioPages As Visio.Pages = Me.Application.ActiveDocument.Pages
    
    visioPages.Add()
    
    Try
        copyPage = visioPages(1)
        rectangle = copyPage.DrawRectangle(1.1, 2.2, 4.5, 6.7)
        oval = copyPage.DrawOval(1, 8.75, 3.5, 6.25)
    Catch ex As Exception
        System.Windows.Forms.MessageBox.Show(ex.Message)
    End Try
    
    Try
        pastePage = visioPages(2)
        rectangle.Copy(Visio.VisCutCopyPasteCodes.visCopyPasteNoTranslate)
        pastePage.Paste(Visio.VisCutCopyPasteCodes.visCopyPasteNoTranslate)
        oval.Copy(Visio.VisCutCopyPasteCodes.visCopyPasteNoTranslate)
        pastePage.Paste(Visio.VisCutCopyPasteCodes.visCopyPasteNoTranslate)
    Catch ex As Exception
        System.Windows.Forms.MessageBox.Show(ex.Message)
    End Try
    
    this.Application.Documents.Add("");
    Visio.Page copyPage;
    Visio.Page pastePage;
    Visio.Shape rectangle = null;
    Visio.Shape oval = null;
    
    Visio.Pages visioPages = this.Application.ActiveDocument.Pages;
    
    visioPages.Add();
    
    try
    {
        copyPage = visioPages[1];
        rectangle = copyPage.DrawRectangle(1.1, 2.2, 4.5, 6.7);
        oval = copyPage.DrawOval(1, 8.75, 3.5, 6.25);
    }
    catch (Exception ex)
    {
        System.Windows.Forms.MessageBox.Show(ex.Message);
    }
    
    try
    {
        pastePage = visioPages[2];
        rectangle.Copy(Visio.VisCutCopyPasteCodes.visCopyPasteNoTranslate);
        pastePage.Paste(Visio.VisCutCopyPasteCodes.visCopyPasteNoTranslate);
        oval.Copy(Visio.VisCutCopyPasteCodes.visCopyPasteNoTranslate);
        pastePage.Paste(Visio.VisCutCopyPasteCodes.visCopyPasteNoTranslate);
    }
    catch (Exception ex)
    {
        System.Windows.Forms.MessageBox.Show(ex.Message);
    }
    

Ayrıca bkz.

Görevler

Nasıl Yapılır: Visio Belgesine Şekil Ekleme

Kavramlar

Visio Nesne Modeline Genel Bakış

Visio Şekilleri ile Çalışma

Diğer Kaynaklar

Visio Çözümleri