我想做的是:
該檔案應該根據用戶的輸入來保存自己,即使有輸入也是如此。意思是,如果用戶還沒有進行任何輸入,IF-陳述句應該回傳第一部分(這就是為什么 UserName = "")。但是如果用戶之前已經輸入了一些東西,我希望它能回傳IF陳述句的第二部分。
檔案的原名是20210910_Besprechungsnotizen_00_,如果Jack是第一個打開該檔案并創建協議的人,名字應該是:20210910_Besprechungsnotizen_00_Jack,并且只問Jack的名字。如果Jack想讓Steve去看這個檔案,那么word應該意識到,Jack已經保存了這個檔案(輸入了他的首字母或他的名字),它將詢問Steve這個檔案目前在哪個版本上,并將Steve加到Jack后面。意思是說。 20210910_Besprechungsnotizen_01_JackSteve而Steve只輸入了他的名字和1.
。我是一個新手& 非常感謝您的幫助! 以下是我的代碼:
Private sub CommandButton3_Click()
Dim FilePath As String
Dim Filename As String
Dim MyDate As String
Dim UserNameAs String
If UserName = "" Then
FilePath = "//SRVDCArbeitsordnerInternMeetingsEntwürfe"
MyDate = Format(Date, "YYYMMDD")
Filename1 = "_Besprechungsnotizen_i_00_"/span>
UserName = InputBox("Wer erstellt? (姓名在Firmenkurzform)")
ActiveDocument.SaveAs2 FilePath & MyDate & Filename1 & UserName
Else
FilePath = "//SRVDCArbeitsordnerInternMeetingsEntwürfe"/span>
MyDate = Format(Date, "YYYMMDD")
檔案名1 = "_Besprechungsnotizen_i_0"
Filename2 = "_"/span>
UserName = InputBox("Wer bearbeitet? (姓名在Firmenkurzform)")
版本 = InputBox("Welche Version? (在整個Zahlen)")
ActiveDocument.SaveAs2 FilePath & MyDate & Filename1 & Version & Filename2 & UserName
End If
結束 子
uj5u.com熱心網友回復:
使用InputBox()作業可能有點慢和棘手。總之,試著列印你所輸入的東西,看看你在代碼中的位置。
Sub TestMe()
Dim userName As String
Dim usedVersionAs String
userName = InputBox("輸入用戶名")
If userName = "" Then
Debug.Print "UserName is empty"
Else
Debug.Print "用戶名" & userName & " 被輸入。
Debug.Print "現在詢問版本:"。
usedVersion = InputBox("Welche Version? (in ganzen Zahlen)")
Debug.Print "版本"; usedVersion; " 被輸入"。
End If
End Sub
這就是除錯的情況:
uj5u.com熱心網友回復:
試一下:
Private Sub CommandButton3_Click()
Const FilePath As String = "/SRVDCArbeitsordnerInternMeetingsEntwürfe"
Const OrigFileName As String = "20210_Besprechungsnotizen_00_"
Dim 檔案名 As String: 檔案名 = "_Besprechungsnotizen_i_0"。
Dim MyDate As String: MyDate = Format(Date, "YYYMMDD")
Dim UserName As String
Dim VersionAs String
If Split(ActiveDocument.Name, ".")(0) = OrigFileName Then
'檔案沒有被重新保存。
Else
'檔案之前已經被保存,所以從檔案名中提取資料。
Dim nameElements As Variant
nameElements = Split(Split(ActiveDocument.Name, "。")(0), "_")
UserName = nameElements(UBound(nameElements))
版本 = nameElements(UBound(nameElements) - 1)
結束 If
If UserName = "" Then
UserName = InputBox("Wer erstellt? (姓名在Firmenkurzform)")
版本 = "0_"/span>
Else。
Dim currentUserAs String
currentUser = InputBox("Wer bearbeitet? (姓名在Firmenkurzform)")
如果 currentUser = UserName 然后
'你需要弄清楚在這種情況下你想做什么。
Else
'你還需要弄清楚,當你已經有兩個名字時,你想做什么 Else
UserName = UserName & currentUser
結束 If
'你真的需要提示用戶的版本號嗎?
'你就不能增加現有的數字嗎,比如說?
'Version = Format$(Version 1, "00")
Version = InputBox("Welche Version? (in ganzen Zahlen)") & "_"。
End If
ActiveDocument.SaveAs2 FilePath & MyDate & Filename & Version & UserName
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/314516.html
標籤:

