Ошибка, когда форма открыта на нескольких компьютерах - PullRequest
0 голосов
/ 05 марта 2019

У меня есть код в Excel, который отлично работает, когда форма используется одним человеком за раз.Как только эта форма открыта на нескольких компьютерах в сети, выдается сообщение об ошибке.

Сообщение об ошибке гласит: Ошибка времени выполнения «1004»: документ не сохранен.Документ может быть открыт или при сохранении возникла ошибка.

При нажатии кнопки «Отладка» выделяется следующая строка: ws.ExportAsFixedFormat 0, FileName

Private Sub CommandButton1_Click()
    Dim d As Date
    Dim m As String
    Dim dy As String
    Dim yr As String
    Dim FileName As String
    Dim a1 As String
    Dim b1 As String
    Dim ws As Worksheet
    Dim dr As String

    dr = "G:\Operations\Expedite Requests"

Set ws = Sheets("Sheet1")
myarr = Array("Date", "Customer", "PO#", "Workorder#", "Part Number", "Requested Due Date", _
            "Original Promise Date", "Special Note(s)", "Material Substitutions", "Requested By")
j = 0
With ws
    A5 = .Range("A5").Value
    A9 = .Range("A9").Value
    For i = 3 To 21 Step 2
        If .Cells(i, 1).Value = "" Then
            msg = msg & myarr(j) & vbLf
        End If
        j = j + 1
    Next
    If msg <> vbNullString Then
        If MsgBox("Form is not complete. Do you want to continue?" & vbLf & _
            "(Please Type N/A If The Information is not Avalaible)" & vbLf & "Following information is missing:" & vbLf & msg, vbQuestion + vbYesNo) <> vbYes Then
                Exit Sub
        End If
    End If
End With

Set ws = Sheets("Expedite Form")
d = Date
m = Month(d)
dy = Day(d)
yr = Year(d)

FileName = dr & "\" & yr & "-" & m & "-" & dy & " " & A5 & A9
ws.ExportAsFixedFormat 0, FileName
With CreateObject("Outlook.Application").CreateItem(0)
    Dim cell As Range
    Dim strBody As String
    For Each cell In ThisWorkbook.Sheets("Sheet1").Range("A1:A21")
        strBody = strBody & cell.Value & vbNewLine
    Next
    .To = "TEST1@TEST1.com"
    .CC = "TEST2@TEST2.com;
    .BCC = "TEST3@TEST3.com"
    .Subject = "Expedite Request"
    .Body = strBody
    .attachments.Add dr & "\" & yr & "-" & m & "-" & dy & " " & A5 & A9 & ".pdf"
    .Send  'use .Display to display email; use .send to send email
    MsgBox ("Email Sent To Operations Team")


End With

Call resetForm

End Sub

Sub resetForm()

Worksheets("Sheet1").Range("A5").Value = ""
Worksheets("Sheet1").Range("A7").Value = ""
Worksheets("Sheet1").Range("A9").Value = ""
Worksheets("Sheet1").Range("A11").Value = ""
Worksheets("Sheet1").Range("A13").Value = ""
Worksheets("Sheet1").Range("A15").Value = ""
Worksheets("Sheet1").Range("A17").Value = ""
Worksheets("Sheet1").Range("A19").Value = ""
Worksheets("Sheet1").Range("A21").Value = ""

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...