xiyoulhj

显示当前page size:

Application.ActiveDocument.Name
Application.ActiveDocument.PaperSize
Application.ActiveDocument.PaperHeight("inches")

Application.ActiveDocument.PaperWidth("inches")
Sub UseApplication()
    \' Holds the description.
    Dim Description As String
    
    \' Get the document description.
    With Application.ActiveDocument
        Description = _
            "Name: " + .Name + vbCrLf + _
            "Description: " + .Description + vbCrLf + _
            "Paper Height: " + _
            CStr(.PaperHeight("inches")) + vbCrLf + _
            "Paper Width: " + _
            CStr(.PaperWidth("inches")) + vbCrLf + _
            "Paper Size: "
        
        \' The paper size requires special handling.
        Select Case .PaperSize
            Case VisPaperSizes.visPaperSizeA3
                Description = Description + "A3"
            Case VisPaperSizes.visPaperSizeA4
                Description = Description + "A4"
            Case VisPaperSizes.visPaperSizeA5
                Description = Description + "A5"
            Case VisPaperSizes.visPaperSizeB4
                Description = Description + "B4"
            Case VisPaperSizes.visPaperSizeB5
                Description = Description + "B5"
            Case VisPaperSizes.visPaperSizeC
                Description = Description + "C"
            Case VisPaperSizes.visPaperSizeD
                Description = Description + "D"
            Case VisPaperSizes.visPaperSizeE
                Description = Description + "E"
            Case VisPaperSizes.visPaperSizeFolio
                Description = Description + "Folio"
            Case VisPaperSizes.visPaperSizeLegal
                Description = Description + "Legal"
            Case VisPaperSizes.visPaperSizeLetter
                Description = Description + "Letter"
            Case VisPaperSizes.visPaperSizeNote
                Description = Description + "Note"
            Case VisPaperSizes.visPaperSizeUnknown
                Description = Description + "Unknown"
        End Select
    End With
    
    \' Get the active page description.
    With Application.ActivePage
        Description = Description + vbCrLf + _
            "Page Width: " + _
            CStr(.Shapes("thePage").Cells("PageWidth")) + _
            vbCrLf + "Page Height: " + _
            CStr(.Shapes("thePage").Cells("PageHeight"))
        
    End With
    
    \' Display the description on screen.
    MsgBox Description, _
        vbInformation Or vbOKOnly, _
        "Document and Page Description"
End Sub

 

显示当前所有pages.

ActiveDocument.Pages
Option Explicit

Sub ListPages()
    \' Holds the list of pages.
    Dim ThePages As Pages
    
    \' Holds the page information.
    Dim PageNames As String
    Dim ThisPage As Page
    
    \' Get the list of pages.
    Set ThePages = ActiveDocument.Pages
    
    \' Obtain the page information.
    For Each ThisPage In ThePages
    
        \' Check for a drawing page.
        PageNames = PageNames + ThisPage.Name + vbCrLf
    Next
    
    \' Display the results.
    MsgBox PageNames, vbInformation Or vbOKOnly, "Drawing Pages in Document"
End Sub

 

显示当前page所有shapes.

ActivePage.Shapes
Sub ListShapes()
    \' Holds the list of shapes for a page.
    Dim TheShapes As Shapes
    
    \' Obtain the list of shapes.
    Set TheShapes = ActivePage.Shapes
    
    \' Holds individual shape data.
    Dim ThisShape As Shape
    Dim ShapeNames As String
    
    \' Obtain each shape and add it to the list.
    For Each ThisShape In TheShapes
        ShapeNames = ShapeNames + ThisShape.Name + vbCrLf
    Next
    
    \' Display the results on screen.
    MsgBox ShapeNames, _
           vbInformation Or vbOKOnly, _
           "Shapes on Current Page"
End Sub

 

显示对应shapesheet的cells.

ActivePage.Shapes("xxx").RowCount
ActivePage.Shapes("xxx").CellsSRC
Sub ListCells()
    \' Holds the current shape.
    Dim TheShape As Shape
    
    \' Loop counter variables.
    Dim RowCount As Integer
    Dim CellCount As Integer
    
    \' Holds the current cell information.
    Dim TheCell As Cell
    Dim CellName As String
    
    \' Obtain a selected shape.
\' shapename,refer before papers
Set TheShape = ActivePage.Shapes("xxx") \' Open the file that will contain the cell names. Open ThisDocument.Path + "\CellNames.txt" For Output As #1 \' Process each of the cell rows. For RowCount = 0 To TheShape.RowCount(visSectionProp) - 1 \' Process each cell in the row. For CellCount = 0 To TheShape.RowsCellCount(visSectionProp, RowCount) - 1 \' Obtain the specific cell. Set TheCell = TheShape.CellsSRC(visSectionProp, RowCount, CellCount) \' Save the name of the Cell. CellName = TheCell.Name + vbCrLf \' Output the data. Write #1, CellName Next Next \' Close the file. Close #1 End Sub

 

两个有用的链接:

REF:https://msdn.microsoft.com/en-us/library/aa201749

       https://msdn.microsoft.com/en-us/library/aa730963(v=office.12).aspx

分类:

技术点:

相关文章: