0
我有一個關於使用VBScript將memofield從「純文本」更改爲「富文本」的問題,我在這裏和在互聯網上發現了一些解決方案,但是所有的解決方案都是針對VBScript的。我嘗試通過Windows啓動一個vbscript,但我的腳本不起作用。我很喜歡VBScripting,所以我希望你們能幫助我。我以前從論壇的例子爲我的腳本: How to convert a text field in an Access table to a rich text memo using VBA使用VBScript將備忘錄字段從「純文本」更改爲「富文本」
我的腳本:
Dim db
Dim tdf
Dim fld1
Dim fld2
Set accessApp = GetObject("D:\test.mdb")
Set accessApp = CreateObject("Access.Application")
accessApp.OpenCurrentDataBase "D:\test.mdb", true
accessApp.visible = false
accessApp.UserControl = true
Set accessApp.db = CurrentDB
Set accessApp.tdf = db.TableDefs("Database")
Set accessApp.fld1 = tdf.Fields("Name_Memofield1")
Set accessApp.fld2 = tdf.Fields("Name_Memofield2")
Debug.Print "acTextFormatPlain: " & acTextFormatPlain & _
"; acTextFormatHTMLRichText: " & acTextFormatHTMLRichText
With fld1.Properties("TextFormat")
Debug.Print "TextFormat: " & .Value
If .Value = acTextFormatPlain Then
.Value = acTextFormatHTMLRichText
Debug.Print "TextFormat changed to: " & .Value
End If
End With
With fld2.Properties("TextFormat")
Debug.Print "TextFormat: " & .Value
If .Value = acTextFormatPlain Then
.Value = acTextFormatHTMLRichText
Debug.Print "TextFormat changed to: " & .Value
End If
End With
什麼occures告訴我,問題是出在「設置accessApp.db = CurrentDB」錯誤的錯誤,發生的是:「對象不支持此屬性或方法accessApp.db」如果我將「accessApp.db」更改爲「db」,則發生其他錯誤:「Object required:'CurrentDB'」
來自訪問數據庫的代碼不會直接作爲vbs腳本文件工作。您需要通過連接字符串連接到Ms Access DB,然後編寫將PlainText轉換爲RichText的邏輯。 –
你有一些不必要的行。嘗試'Set db = accessApp.OpenCurrentDataBase「D:\ test.mdb」,true'並跳過'Set accessApp.db = CurrentDB',你不需要它。數據庫不是Access應用程序的屬性。請參閱https://msdn.microsoft.com/en-us/library/office/jj250267.aspx – Fionnuala
@MukulVarshney,這是不正確的。您可能無法使用ADODB連接更改字段類型,但可以使用Access應用程序對象。 – Fionnuala