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.

  1. Vytvořte makro. Postupujte takto:

    1. Spusťte Visio a otevřete výkres.

    2. Stisknutím kombinace kláves ALT+F11 spusťte Microsoft Visual Basic Editor.

    3. V nabídce **Vložit** klikněte na Modul.

    4. Zkopírujte následující kód a vložte kód do okna FileNameModule 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
      
    5. Stisknutím kombinace kláves CTRL+S výkres uložte.

    6. V nabídce Soubor klikněte na Zavřít a vrátit se do Visia.

  2. Spusťte makro. Postupujte takto:

    1. V nabídce Nástroje přejděte na příkaz Makra a klepněte na příkaz Makra.
    2. 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.

  3. 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.