Tisk komentářů vložených revidujícími při použití funkce Sledovat revize ve Visiu 2010, Visiu 2007 nebo Visiu 2003
ÚVOD
Tento článek popisuje makro, které můžete použít k tisku komentářů vložených revidujícími. Toto makro můžete použít při použití funkce Sledování značek v aplikaci Microsoft Visio 2010, Microsoft Office Visio 2007 nebo Microsoft Office Visio 2003.
Další informace
Když ve Visiu použijete funkci Sledování značek, můžou uživatelé, kteří výkres kontrolují, přidat navrhované změny. Navrhované změny se označují také jako revize. Značky zahrnují obrazce, rukopisné obrazce a komentáře. Při tisku výkresu, který obsahuje revize, se komentáře vložené revidujícími nevytisknou. Pomocí makra popsaného v tomto článku můžete vytisknout komentáře vložené revidujícími.
Makro extrahuje komentáře, které jsou ve výkresu, a potom vloží komentáře do nového obrazce. Nový obrazec se zobrazí mimo stránku výkresu. Změňte velikost obrazce a přetáhněte obrazec na stránku výkresu. Při tisku výkresu se komentáře zobrazí v novém obrazci, který jste přidali do výkresu.
Chcete-li vytvořit a spustit makro, postupujte takto.
Společnost Microsoft poskytuje ukázky programování pouze pro ilustraci, bez žádné záruky výslovně uvedené nebo odvozené, včetně, bez omezení, odvozených záruk vztahujících se k obchodovatelnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že uživatel je obeznámen s programovacím jazykem, který je předmětem ukázky, a s nástroji použitými pro vytvoření a ladění skriptu. Pracovníci technické podpory společnosti Microsoft mohou vysvětlit funkce určitého postupu, nemohou však následující příklady rozšířit o další funkce nebo konstrukce podle konkrétních požadavků uživatele.
Vytvořte makro. Postupujte takto:
Spusťte Visio a otevřete výkres.
Stisknutím kombinace kláves ALT+F11 spusťte Microsoft Visual Basic Editor.
V nabídce **Vložit** klikněte na Modul.
Zkopírujte následující kód a vložte kód do okna FileName –Module Number (Code):
Public Sub GetComments() Dim pagMarkup As Visio.Page Dim pag As Visio.Page Dim shp As Visio.Shape Dim sText As String Dim iRow As Integer Set pag = Visio.ActivePage sText = "Reviewer" & vbTab & "Date" & vbTab & "Comment" If pag.PageSheet.SectionExists(Visio.visSectionAnnotation, Visio.visExistsAnywhere) Then For iRow = 0 To pag.PageSheet.RowCount(Visio.visSectionAnnotation) - 1 sText = sText & vbCrLf & pag.Document.DocumentSheet.CellsSRC(Visio.visSectionReviewer, pag.PageSheet.CellsSRC(Visio.visSectionAnnotation, iRow, Visio.visAnnotationReviewerID).ResultIU - 1, Visio.visReviewerInitials).ResultStr("") sText = sText & pag.PageSheet.CellsSRC(Visio.visSectionAnnotation, iRow, Visio.visAnnotationMarkerIndex).ResultIU sText = sText & vbTab & Format(pag.PageSheet.CellsSRC(Visio.visSectionAnnotation, iRow, Visio.visAnnotationDate).ResultIU, "ddddd") sText = sText & vbTab & pag.PageSheet.CellsSRC(Visio.visSectionAnnotation, iRow, Visio.visAnnotationComment).ResultStr("") Next iRow End If For Each pagMarkup In pag.Document.Pages If pagMarkup.Type = visTypeMarkup Then If pagMarkup.OriginalPage = pag Then If pagMarkup.PageSheet.SectionExists(Visio.visSectionAnnotation, Visio.visExistsAnywhere) Then sText = sText & vbCrLf sText = sText & vbCrLf & pag.Document.DocumentSheet.CellsSRC(Visio.visSectionReviewer, pagMarkup.ReviewerID - 1, Visio.visReviewerName).ResultStr("") For iRow = 0 To pagMarkup.PageSheet.RowCount(Visio.visSectionAnnotation) - 1 sText = sText & vbCrLf & pag.Document.DocumentSheet.CellsSRC(Visio.visSectionReviewer, pagMarkup.PageSheet.CellsSRC(Visio.visSectionAnnotation, iRow, Visio.visAnnotationReviewerID).ResultIU - 1, Visio.visReviewerInitials).ResultStr("") sText = sText & pagMarkup.PageSheet.CellsSRC(Visio.visSectionAnnotation, iRow, Visio.visAnnotationMarkerIndex).ResultIU sText = sText & vbTab & Format(pagMarkup.PageSheet.CellsSRC(Visio.visSectionAnnotation, iRow, Visio.visAnnotationDate).ResultIU, "ddddd") sText = sText & vbTab & pagMarkup.PageSheet.CellsSRC(Visio.visSectionAnnotation, iRow, Visio.visAnnotationComment).ResultStr("") Next iRow End If End If End If Next pagMarkup Dim iAutoSize as Integer 'new iAutoSize = pag.AutoSize 'new pag.AutoSize = 0 'new Set shp = pag.DrawRectangle(-pag.PageSheet.Cells("PageWidth").ResultIU, 0, 0, pag.PageSheet.Cells("PageHeight").ResultIU) pag.AutoSize = iAutoSize 'new shp.AddSection visSectionUser 'new shp.AddNamedRow visSectionUser, "msvNoAutoSize", visTagDefault 'new shp.CellsU("User.msvNoAutoSize").FormulaU = 1 'new shp.Cells("Para.HorzAlign").Formula = "0" shp.Cells("VerticalAlign").Formula = "0" shp.Name = "Reviewers Comments" shp.Text = sText End Sub
Stisknutím kombinace kláves CTRL+S výkres uložte.
V nabídce Soubor klikněte na Zavřít a vrátit se do Visia.
Spusťte makro. Postupujte takto:
- V nabídce Nástroje přejděte na příkaz Makra a klepněte na příkaz Makra.
- V seznamu název makra klepněte na makro, které jste vytvořili v kroku 1 a potom klepněte na tlačítko Spustit. Název makra je FileName. Číslo modulu. GetComments.
Makro vloží komentáře do nového obrazce, který se zobrazí nalevo od stránky výkresu.
Změňte velikost obrazce, který obsahuje komentáře, a přetáhněte obrazec na stránku výkresu. Pokud chcete, naformátujte text v obrazci. Při tisku výkresu se komentáře zobrazí v obrazci ve výkresu.