다음 VBA 코드는 텍스트 파일을 열고 텍스트 파일로 번호를 읽은 다음 텍스트 파일의 번호에 1을 더한 다음 텍스트 파일에 새 번호를 저장합니다 .오류 52 - 잘못된 파일 번호
현재 () 표시된 줄에 오류 52가 표시됩니다. 이 문제를 어떻게 해결할 수 있습니까?
Public Sub Items_ItemAdd(Item As Outlook.MailItem)
Dim filenum As Integer
Dim current_number As String
Dim fileName As String
Dim objNS As Outlook.NameSpace
Set objNS = GetNamespace("MAPI")
Set Items = objNS.GetDefaultFolder(olFolderInbox).Items
filenum = FreeFile()
fileName = "G:\Infrastructure Services\Engineering Services\Hazard Report Number.txt"
Open fileName For Input As filenum
While Not EOF(filenum) '*error 52 - Bad file number
Line Input #filenum, current_number
Close filenum
Wend
If Item.Class = olMail Then
If Left$(Item.Subject, 29) = "Hazard Identification Report" Then
Dim Msg As Outlook.MailItem
Dim NewForward As Outlook.MailItem
Dim myFolder As Outlook.MAPIFolder
Dim olApp As Outlook.Application
Dim olNS As Outlook.NameSpace
Set Msg = Item
Set NewForward = Msg.Forward
Set olApp = Outlook.Application
Set olNS = olApp.GetNamespace("MAPI")
strSender = ""
strsenderName = Msg.SenderEmailAddress
If strsenderName = "EX" Then
Set objSender = itm.Sender
If Not (objSender Is Nothing) Then
Set objExchUser = Sender.GetExchangeUser()
If Not (objExchUser Is Nothing) Then
strSender = objExchUser.PrimarySmtpAddress
End If
End If
Else
strSender = strsenderName
End If
With NewForward
.Subject = "Hazard report reciept number: & "
.To = strSender
.HTMLBody = "TYhank you for your email"
.Send
End With
End If
End If
Close filenum
ExitProc:
Set NewForward = Nothing
Set Msg = Nothing
Set olApp = Nothing
Set olNS = Nothing
End Sub
시도해보십시오. 입력 파일 이름은 # filenum으로 입력하십시오. –
@TimWilliams : 나는 그것에 대해 생각했지만'# '은 선택 사항이므로 그렇게 할 수 없습니다. –