按照這個優秀的教程,我創建了一個 PowerPoint 來顯示 .txt 檔案中的 5 個隨機單詞。
問題是,我的 .txt 檔案中的單詞是西班牙語,所以有重音。當 PowerPoint 顯示它們時,它們看起來已損壞。例如,Perú 看起來像 Per?°。
這是我的代碼:
Public myArray, Word1, Word2, Word3, Word4, Word5
Sub OnSlideShowPageChange(ByVal SSW As SlideShowWindow)
If SSW.Presentation.SlideShowSettings.StartingSlide Then
Randomize
Label1.Caption = ""
Label2.Caption = ""
Label3.Caption = ""
Label4.Caption = ""
Label5.Caption = ""
Dim path
path = ActivePresentation.path & "\palabras.txt"
Open path For Input As #1
filecontent = Input(LOF(1), #1)
Close #1
myArray = Split(filecontent, vbCrLf)
End If
End Sub
Private Sub CommandButton1_Click()
Word1 = Int((UBound(myArray)) * Rnd)
Word2 = Int((UBound(myArray)) * Rnd)
Word3 = Int((UBound(myArray)) * Rnd)
Word4 = Int((UBound(myArray)) * Rnd)
Word5 = Int((UBound(myArray)) * Rnd)
Do While Word1 = Word2
Word2 = Int((UBound(myArray)) * Rnd)
Loop
Label1.Caption = myArray(Word1)
Label2.Caption = myArray(Word2)
Label3.Caption = myArray(Word3)
Label4.Caption = myArray(Word4)
Label5.Caption = myArray(Word5)
End Sub
我知道它的結尾也很亂,我不知道如何得到它,以至于Word3、4和5沒有重復。這是我第一次使用 VBA。
任何人都可以幫忙嗎?
檔案
uj5u.com熱心網友回復:
VBA 和 COM 在內部使用 Unicode。但是當與 Windows API 互動時,VBA 使用 ANSI,因為 Windows 9x 沒有 Unicode API 呼叫。
該Open報表已折舊。它將呼叫 Windows' CreateFileA。使用FileSystemObject. https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/openastextstream-method
確保在打開檔案時指定 Unicode。
或將您的非 Unicode 設定設定為西班牙語或其他內容。
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Dim fso, f, ts
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile "test1.txt" ' Create a file.
Set f = fso.GetFile("test1.txt")
Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)
ts.Write "Hello World"
ts.Close
Set ts = f.OpenAsTextStream(ForReading, TristateUseDefault)
TextStreamTest = ts.ReadLine
ts.Close
從幫助。
Set TS = CreateObject("Scripting.FileSystemObject").GetFile("test1.txt").OpenAsTextStream(1, -1)
x = ts.readall
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/413332.html
標籤:
上一篇:VBA復制最后一行包含某些單詞
