VBScriptを使用してmemofieldを「プレーンテキスト」から「リッチテキスト」に変更することに関する質問があります。すべてのソリューションはVBScript用のものです。 Windowsからvbscriptを起動しようとしましたが、スクリプトが動作しません。私は親切にVBScriptingの初心者ですので、皆さんが私を助けてくれることを願っています。私は私のスクリプトのためのフォーラムからの例を使用: How to convert a text field in an Access table to a rich text memo using VBAVBScriptを使用して "プレーンテキスト"から "リッチテキスト"への変更メモフィールドへのアクセス
マイスクリプト:
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'"
アクセスDBのコードは、直接vbsスクリプトファイルとして機能しません。接続文字列を使用してMs Access DBに接続し、PlainTextをRichTextに変換するロジックを書き込む必要があります。 –
不要な行がいくつかあります。 'Set db = accessApp.OpenCurrentDataBase" D:\ test.mdb "、true'を試して、' Set accessApp.db = CurrentDB'をスキップしてください。あなたはそれを必要としません。 dbはAccess Applicationのプロパティではありません。非常に真実ではないhttps://msdn.microsoft.com/en-us/library/office/jj250267.aspx – Fionnuala
@MukulVarshneyを参照してください。おそらくADODB接続でフィールドタイプを変更することはできませんが、アクセスアプリケーションオブジェクトで行うことはできます。 – Fionnuala