多个用户从应用程序更新Excel

时间:2016-11-20 12:22:48

标签: .net excel vb.net visual-studio-2013

我在Visual Studio 2013中创建了一个表单,用于同时由多个用户在Excel中输入数据。它工作得很好,除非两个用户同时打开表单或者单击提交并且表单仍在处理中。然后它会显示另一个人的以下错误。

  

您的应用程序中发生了未处理的异常。          来自HRESULT的异常:0x800A03EC

有关如何纠正此事的任何帮助?

Imports excel = Microsoft.Office.Interop.Excel
Imports System.Runtime.InteropServices

Public Class Form1
    Dim xlapp As New excel.Application
    Dim workbook As excel.Workbook
    Dim worksheet As excel.Worksheet

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        workbook = xlapp.Workbooks.Open("2.xlsx")
        xlapp.Visible = False
        worksheet = workbook.Sheets("sheet1")
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        If workbook.MultiUserEditing Then
            workbook.AcceptAllChanges()
            workbook.Save()
        End If

        Dim row As Long
        Dim alpha As Long = 0
        row = 5
        With worksheet
            Do While .Cells(row, 4).value IsNot Nothing
                row = row + 1
            Loop

            .Cells(row, 2).value = Me.fname.Text
            .Cells(row, 3).value = Me.lname.Text
            Me.fullname.Text = Me.fname.Text + Me.lname.Text
            .Cells(row, 4).value = Me.fullname.Text
        End With
        xlapp.DisplayAlerts = False
        workbook.SaveAs("2.xlsx", AccessMode:=excel.XlSaveAsAccessMode.xlShared)
    End Sub
End Class

0 个答案:

没有答案