Library tutorials & articles
VBA in FrontPage
Introduction
This article gives you an introduction to VBA in FrontPage.
My First VBA Macro
My first task that I wanted to be able to do was to change the title at the top of my menu on every page. Of course we have our critical files backed up before running experimental code on them. Still the best procedure is to write code which operates on one file, and fully debug it before using it on the full set.
Here is the subroutine I wrote to make the change to the active file.
Sub ChangeMenuTitle()
Dim fpDoc As FPHTMLDocument
Set fpDoc = ActiveDocument
Dim myTable As FPHTMLTable
Set myTable = fpDoc.all.tags("table")(0)
myTable.Id = "menu"
Dim strRow As String
Dim myRow As FPHTMLTableRow
Set myRow = myTable.rows(0)
Dim myCell As FPHTMLTableCell
Set myCell = myRow.cells(0)
strRow = myCell.innerText
If strRow = "ATL & COM Notebook" Then
myCell.all.tags("i")(0).innerText = "Components Notebook"
strRow = myCell.innerText
End If
End Sub
This is working code, not optimized and not very reusable, but useful for learning purposes, and getting the job done. First I obtain the ActiveDocument object, then I obtain the first table. I know that the table I want to work with is the first on the page so I use fpDoc.all.tags("table")(0) to obtain the first table on my page. Since I want to write smarter code in the future, I set the Id for this table to "menu". Then I go through a two step process, to obtain the first row in the table, then the first cell in the row. Once I have this cell I check to see that the contents are "ATL & COM Notebook", to make sure I am changing the right text. Now I change the text inside the "<I> tags to "Components Notebook".
Now that we have code which successfully makes the change to one page, lets write the code to apply this change to all the pages in the site.
Related articles
Related discussion
-
ms access report
by Uncle (1 replies)
-
Macro in Excel, and If statement that needs to loop through a range
by Wukkie (0 replies)
-
How to bind more than 1 client in 1 computer to winsock UDP server with ms.access
by esugiawan (0 replies)
-
How to bind more than 1 client in 1 computer to winsock server with ms.access xp
by esugiawan (0 replies)
-
VB6 system conversion using VBA to Word 2007
by b.macgregor@vodamail.co.za (0 replies)
This thread is for discussions of VBA in FrontPage.