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ış