在Windows平台上, js可以調用很多Windows提供的ActivexObject,本文就使用js來實現文檔處理, 和使用js編寫ActiveX做一個簡單介紹.
var fh = fso.OpenTextFile(f1, 1/*reading*/);
var content = '';
content = fh.ReadLine();
}
🎜> }
function writeExcel(){
var ExcelApp = new ActiveXObject("Excel.Application");
var ExcelSheet = new ActiveXObject("Excel.Sheet");
ExcelSheet = new ActiveXObject("Excel.Sheet");
ExcelSheet.Application.Visibleible. ;
ExcelSheet.SaveAs("d:\TEST.XLS");
}
JavaScript中ActiveXObject物件是啟用並傳回 Automation 物件的參考。使用方法:
newObj = new ActiveXObject( servername.typename[, location])
ActiveXObject 物件語法有這些部分:其中newObj是必選項。要賦值為 ActiveXObject 的變數名稱。
servername是必選項。提供該物件的應用程式的名稱。
typename是必選項。要建立的物件的類型或類別。
location是可選項。建立該物件的網路伺服器的名稱。
切記:ActiveX是微軟的東西,故而這玩意兒只有IE才支持!
javaScript中利用ActiveXObject來建立FileSystemObject操作檔
一、功能實作核心:FileSystemObject 物件
要在javascript中實作檔案操作功能,主要就是依賴FileSystemobject物件。
二、FileSystemObject程式
使用FileSystemObject 物件進行程式設計很簡單,一般要經過以下的步驟: 建立FileSystemObject物件、應用相關方法、存取物件相關屬性 。
(一)建立FileSystemObject物件
建立FileSystemObject物件的程式碼只要1行:
var fso = new ActiveXObject("Scripting.FileSystemObject");
上述程式碼執行後,fso就變成一個FileSystemObject物件實例。
(二)應用相關方法
建立物件實例後,就可以使用物件的相關方法了。例如,使用CreateTextFile方法建立一個文字檔案:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f1 = fso.createtextfile("c:\myjstest.txt",true");
(三)存取物件相關屬性
要存取物件的相關屬性,首先要建立指向物件的句柄,這就要透過get系列方法實現:GetDrive負責取得磁碟機信息,GetFolder負責取得資料夾信息,GetFile負責取得檔案資訊。 GetFile("c:\myjstest.txt");
然後,使用f1存取物件的相關屬性。
(一)Drives物件屬性
Drive物件負責收集系統中的實體或邏輯磁碟機資源內容,它具有下列屬性:l TotalSize:以位元組(byte)為單位計算的磁碟機大小。
l AvailableSpace或FreeSpace:以位元組(byte)為單位計算的磁碟機可用空間。
l DriveLetter:驅動器字母。
l DriveType:磁碟機類型,取值為:removable(行動媒體)、fixed(固定媒體)、network(網路資源)、CD-ROM或RAM碟。
l SerialNumber:驅動器的系列碼。
l FileSystem:所在磁碟機的檔案系統類型,取值為FAT、FAT32和NTFS。
l IsReady:驅動器是否可用。
l ShareName:共享名稱。
l VolumeName:卷標名稱。
l Path和RootFolder:磁碟機的路徑或根目錄名稱。
(二)Drive物件操作例程
四、操作資料夾(Folders)
涉及到資料夾的操作包括建立、移動、刪除以及取得相關屬性。
Folder物件操作例程 :
下面的例程將練習取得父資料夾名稱、建立資料夾、刪除資料夾、判斷是否為根目錄等操作:
alert("Basename = " fso.GetBaseName("c:\bogus") "n");
// 刪除已建立的資料夾fso.DeleteFolder ("C:\Bogus");
alert("Deleted folder C:\Bogus" "n");
五、操作文件(Files)
程式碼如下:
var fso, f1, ts;
var fso, f1, ts;
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CreateTextFile ("c:\test1.txt");f1 = fso.GetFile("c:\test1. txt");
ts = f1.OpenAsTextStream(ForWriting, true);(四)讀取檔案內容
從文字檔案讀取資料要使用TextStream物件的Read、ReadLine或ReadAll 方法。 Read方法用於讀取檔案中指定數量的字元;ReadLine方法讀取一整行,但不包括換行符;ReadAll方法則讀取文字檔案的整個內容。讀取的內容存放於字串變數中,用於顯示、分析。使用Read或ReadLine方法讀取檔案內容時,如果要跳過一些部分,就要用到Skip或SkipLine方法。
下面的程式碼示範開啟檔案、填入數據,然後讀取數據:
(五)移動、拷貝和刪除檔案
對於以上三種檔案操作,javascript各有兩種對應的方法:File.Move 或FileSystemObject.MoveFile用於移動檔案;File.Copy 或FileSystemObject.CopyFile用於拷貝檔案;File.Delete 或FileSystemObject.DeleteFile用於刪除檔案。
六、結 語
透過上述對FileSystemObject的各種物件、屬性和方法的介紹和範例,相信你已經對如何使用javascript語言在頁面中操作磁碟機、檔案和資料夾有了清楚的認識。但上述提及的例程都非常簡單,要全面、靈活地掌握javascript文件操作技術,還需要大量的實作練習。而且還有一點提醒大家,由於涉及在瀏覽器中進行文件讀寫這樣的高級操作,對於默認的瀏覽器安全級別而言,在代碼運行前都會有一個信息提示,這點請在實際環境中提示訪客註意。