999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VB的FrontPage2000文檔分析

2008-12-31 00:00:00駱正茂
電腦知識與技術 2008年17期

摘要:本文主要討論的是如何利用Visual Basic來分析FrontPage2000文檔,文章首先研究了Frontpage2000的對象模型,提出了利用Frontpage文檔內部的HTML代碼和利用Frontpage的對象模型中對象兩種方法分別對FrontPage2000文檔進行分析,然后提出了兩種方法的優缺點,最后提出了用兩種方法的結合來分析FrontPage2000文檔新觀點。

關鍵詞:VB;Frontpage的對象模型;HTML標記

中圖分類號:TP3文獻標識碼:A文章編號:1009-3044(2008)17-21553-03

1 研究背景和意義

當今國內的各大高校在學生的大一階段開設了《大學計算機基礎》課程,有些省份還專門為這些計算機基本應用技術設立了等級考試。故研究本課題的主要意義在于以下幾個方面: 第一,可深入了解Frontpage應用軟件。第二,熟悉Frontpage內部結構后,可開發出Frontpage操作考評系統,為計算機應用等級考試服務。

2 Frontpage的對象模型分析

Frontpage2000提供了3種對象模型,可以用來處理HTML元素和Frontpage網頁文檔。

(1)Application對象模型。Application對象模型是Frontpage對象模型中的最高級對象,它提供對活動網頁和文件的訪問。該對象模型包括完成操作系統或應用軟件范圍的方法、屬性和事件的對象。Application對象模型還提供了對所有Frontpage中對象模型的訪問,包括Office共享對象,以及指向Web對象模型和Page對象的項目[1]。

(2)WEB對象模型。WEB對象模型提供了瀏覽Frontpage中打開的所有站點的能力,并可以處理站點內網絡子文件夾[1]。用Web對象模型可程序化處理網頁。例如,能添加或刪除文件夾和文件、打開文件到編輯器、應用主題,或者處理有關Web站點的數據。我們可以用Web對象來創建Web站點,管理Web站點導航及管理Web站點中的文件夾和文件。

(3)PAGE對象模型。Frontpage的PAGE對象與Internet Explorer 4.0及以后的文檔對象模型兼容[1]。通過PAGE對象模型能對網頁上HTML元素進行操作,例如,允許在一個活動網頁中瀏覽文檔,以及為某個網頁添加鏈接等。

3 用VB來分析FrontPage2000文檔

3.1 在VB工程中設置引用對象庫及對象庫文件分析

首先要在VB工程里引用Frontpage的對象庫Microsoft Frontpage 4.0 Web Object Reference Library和Microsoft Frontpage 4.0 Page Object Reference Library,這兩個對象庫提供了應用程序中對象和集合的總體映象。對象庫描述了應用程序提供的對象的類型,以及應用程序的對象可用的屬性和方法。對象庫文件可以是一個單獨的文件(*.tlb文件),也可以是包含在其它文件中(*.olb、.exe或.dll文件)。引用Microsoft Frontpage 4.0 Page Object Reference Library對象庫就是后一種,即實際上引用的fpeditax.dll文件中的信息,而引用Microsoft Frontpage 4.0 Web Object Reference Library,即引用的frontpage.exe文件中的信息。

3.2 在VB工程中定義相關對象變量

引用完對象庫后,下面就要定義相關對象的變量。可作如下的定義:

Public fpweb As Web, fppage As FrontPage.PageWindow

上面的語句中首先定義了一個fpweb的web對象變量,然后又定義一個fppage的pagewindow對象變量。對FrontPage文檔分析有點特別,因為一個FrontPage的頁面是包含在一個站點之中的,故首先要打開站點,接著才能對站點中的網頁進行分析。另外還要說明的是,如果前面沒有引用FrontPage的對象庫,則以上的定義是非法的。

3.3 在VB工程中打開FrontPage文檔

下面我們還有個問題要解決,即如何用上面定義的兩個變量來定位到實際要分析的文檔。在這里可用GETOBJECT來獲取活動的FrontPage文檔。部分參考代碼如下:

dim P as String

Webs.Add (file_source)

Set fpweb = Webs.Open(file_source)

fpweb.Activate

P = App.Path

Set fppage = GetObject(P + \"\\fp.htm\")

上面的程序中首先定義一個字符串變量,然后用Webs.Add來新建一個站點,并賦值給fpweb的web對象變量并激活該站點,接下來用App.Path的方法返回當前網頁文件的路徑,并把它賦給P變量。末句是最為重要的一句,是把獲取到一個FrontPage文檔“fp.htm”文件對象賦給fppage對象變量。

3.4 獲取FrontPage的文檔信息

FrontPage網頁文檔內部實際上是一些HTML的標記,例如表格的標記是

,表單的標記是等。在FrontPage的對象模型中也定義了這些標記對象,所以要分析FrontPage網頁文檔有兩條路可行,一是直接把HTML的標記變成字符串讀取出來再分析,二是直接用FrontPage的對象模型里提供的標記對象來分析。

(1)直接把HTML的標記讀取出來再分析

首先可通過InnerHTML或OutHTML屬性把對象的HTML代碼讀出再作下一步的分析。這種方式在分析Fronpage文檔的很多地方都可用到,如判斷表格的某個單元格是否插入了圖片、文檔里是否有表單、判斷文檔中文字的值、字體、字體顏色、字號等。例如,要對Fronpage文檔中表格中的第三行的第三個單元格判斷有沒有插入fp_files文件夾里的motif.jpg圖片,可做如下的編程:

If InStr(table1.Rows(2).Cells(2).innerHTML, \" 0 Then

If InStr(table1.Rows(2).Cells(2).innerHTML, \"src=fp_files/motif.jpg\") <> 0 Then

score = score + 1

Else

wrong_inf = wrong_inf + \"圖片的路徑不對!\"

End If

Else

wrong_inf = wrong_inf + \"表格中的第三行的第三個單元格沒有插入圖片!\"

end if

上面的程序中首先把Table標記中的HTML標記全部讀出來轉變為字符串,接著通過Instr函數判斷這相字串中是否含有指定的字串,達到了分析判斷的功能。如果我們采用對象模型來編程則顯得比較麻煩。

使用第一種方法進行分析時,很多地方要解決HTML代碼中雙引號的問題,因為VB中不能處理雙引號,而FrontPage網頁文檔里有很多的雙引號。在此可以將去雙引號這個功能單獨定義一個過程或函數,在進行字符串比較的時候直接調用。下面是去雙引號功能的函數參考代碼。

Public Function mytrim(tagstr)

For i = 1 To Len(tagstr)

temp = Mid(tagstr, i, 1)

If Asc(temp) <> 34 Then

newtemp = newtemp + temp

End If

Next

mytrim = newtemp

End Function

(2)使用對象模型來分析FrontPage的文檔

采用這種方法來分析FrontPage的文檔,首先要定義相關對象的變量,然后用這些對象變量來指向到相應的HTML標記。例如我們要對網頁中圖片信息做分析時,第一步利用FPHTMLImg對象來定義一個圖片變量。第二步利用圖片變量的相關屬性進行分析。請看下面的部分參考代碼:

Dim img As FPHTMLImg

Set img = fppage.Document.All.Tags(\"img\").Item(0)

MsgBox img.src

MsgBox img.alt

MsgBox img.Height

msgbox img.width

(3)采用直接讀取HTML代碼和用Frontpage對象模型兩種方法結合方式來分析FrontPage的文檔。

對于第一種方法比較的直接,簡單,但有局限性,如用戶直接對HTML標記操作時,有可能多加一些空格,或將HTML文檔內部標記換行等,雖然這樣做不影響網頁的預覽效果,但給程序員的分析會帶來很大的麻煩。另外VB程序中不能直接對單個雙引號進行操作,而HTML代碼標記卻有很多的雙引號。對于第二種方法優點是直接面向文檔中的標記對象編程,針對性強。如先利用對象模型來定義表格、表單、圖片等對象變量,然后在程序中直接對這些變量的屬性進行分析。但缺點是要定義很多的標記變量,編程麻煩。另外最大的缺點是不能做無對象屬性編程。例如文檔中沒有圖片對象時,就不能對圖片屬性編程,否則會造成對象引用錯誤。在分析FrontPage文檔過程中,要充份利用兩種方法的優點,而對于各自己的缺點,可用兩者結合的方式進行彌補。例如,在對網頁中的表單進行分析時,我們先可用第一種方法判斷網頁里是否有表單標記及相應位置上是否有表單元素,如有接下來再用第二種方法對表單的相關元素的屬性作出判斷。請看下面的部分參考代碼:

If InStr(mytrim(fppage.Document.body.innerHTML), \" 0 ThenIf form1.Name = \"論壇個人信息設定表\" Thenscore = score + 1Elsewrong_inf = wrong_inf + \"表單的名稱不對!\" + \"______\"End If

Else

MsgBox \"沒有插入表單!,退出評卷\"

Exit Sub

End If

5 結束語

在VB中采用直接讀取HTML標記的方法和使用Frontpage2000對象模型兩種方法都是可行的,不過各自都有優缺點,在編程分析過程中要有區別對待。而最有效的分析方法是把兩種方法的結合起來,這一方法在開發Frontpage2000無紙化測評系統中更為有效。筆者已用這種方法已開發出了這樣的無紙測評系統,現正在本校的計算機一級考試輔導課程中廣泛應用。

參考文獻:

[1] 北京博彥科技發展有限責任公司. 編程高手office VBA[M].北京大學出生版社,2000,(12)183-191.

[2] 徐國平.VBA中文版程序設計與應用[M].清華大學出版社,1998,(10) 240-255.

[3] 趙建民.大學計算機基礎[M].浙江科技出版社,2007,(01)151-174.

[4] microsoft office幫助系統.

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文

主站蜘蛛池模板: 欧美午夜理伦三级在线观看| 免费A级毛片无码免费视频| 亚洲中文精品久久久久久不卡| 色九九视频| vvvv98国产成人综合青青| 自拍亚洲欧美精品| 亚洲欧美自拍一区| 色综合久久88| 三上悠亚一区二区| 极品私人尤物在线精品首页 | 91午夜福利在线观看| 欧美福利在线播放| 亚洲精品图区| 极品国产在线| 丝袜国产一区| 在线看片免费人成视久网下载| 欧美日韩成人在线观看 | 亚洲国产成人无码AV在线影院L | 精品国产免费人成在线观看| 亚洲国产欧美国产综合久久 | 午夜无码一区二区三区在线app| 国产亚洲精品无码专| 日韩在线2020专区| 国产男人的天堂| 九九精品在线观看| 亚洲日本精品一区二区| 婷五月综合| 少妇极品熟妇人妻专区视频| 日韩成人在线网站| 五月综合色婷婷| 亚洲国产日韩视频观看| 日本精品影院| www.亚洲一区| 国产午夜小视频| 国产精品对白刺激| 亚洲精品图区| 精品国产黑色丝袜高跟鞋 | 亚洲丝袜中文字幕| 国产精品一区不卡| 日韩 欧美 小说 综合网 另类| 日韩AV无码免费一二三区| av在线无码浏览| 久久无码av一区二区三区| 久久黄色视频影| 婷婷六月激情综合一区| 国产极品美女在线播放| 欧美成人精品高清在线下载| 亚洲欧美日韩精品专区| 天天色天天综合网| 99久久精品久久久久久婷婷| 久久www视频| 国产三级视频网站| 欧美日韩亚洲国产主播第一区| 亚洲香蕉在线| 色综合激情网| 综合色88| 91福利一区二区三区| www.精品国产| 日韩av资源在线| 一本综合久久| 婷婷色中文| 亚洲性日韩精品一区二区| 国产精品免费久久久久影院无码| 久久久国产精品无码专区| 国产精品毛片一区视频播| 亚洲欧美国产高清va在线播放| 免费va国产在线观看| www.亚洲一区| 国产成人综合欧美精品久久| 新SSS无码手机在线观看| 成人午夜网址| 天天躁日日躁狠狠躁中文字幕| 67194亚洲无码| 日本国产一区在线观看| 99视频在线观看免费| 国产成人亚洲无码淙合青草| 午夜福利免费视频| av尤物免费在线观看| 久久人人97超碰人人澡爱香蕉| 亚洲第一成人在线| 激情五月婷婷综合网| 亚瑟天堂久久一区二区影院|