Attribute VB_Name = "Module_cssPosition" ' makeAbsolute - make an object positionable ' Copyright (c) 2002 Stephen C. Travis ' ' This script will move the selected object (text, table, table row, etc.) ' to the document body (ie. outside any layout) and place it inside ' a
tag (
). ' The object can then be visually placed anywhere in the document. ' ' This program is free software; you can redistribute it and/or modify ' it under the terms of the GNU General Public License as published by ' the Free Software Foundation; either version 2 of the License, or ' (at your option) any later version. ' ' This program is distributed in the hope that it will be useful, ' but WITHOUT ANY WARRANTY; without even the implied warranty of ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ' GNU General Public License for more details. ' ' You should have received a copy of the GNU General Public License ' along with this program; if not, write to the Free Software ' Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ' or visit their website at http://www.fsf.org/licenses/gpl.txt ' Sub cssPosition() Dim st If Not FrontPage.ActiveDocument Is Nothing Then If FrontPage.ActivePageWindow.ViewMode = fpPageViewNormal Then Dim objTxtRange As IHTMLTxtRange Set objTxtRange = ActiveDocument.selection.createRange() If Right(objTxtRange.Text, 1) = " " Then objTxtRange.moveEnd "character", -1 st = "
" & objTxtRange.htmlText & "
" 'MsgBox (objTxtRange.parentElement.tagName) Select Case objTxtRange.parentElement.tagName Case "table", "tr", "td", "form", "hr" ActiveDocument.body.insertAdjacentHTML "BeforeEnd", st objTxtRange.parentElement.outerHTML = "" Case "tbody" MsgBox ("Invalid selection.") Case Else ActiveDocument.body.insertAdjacentHTML "BeforeEnd", st objTxtRange.pasteHTML "" End Select End If End If End Sub