无法从另一个类访问form1

时间:2011-10-18 13:33:09

标签: vb.net excel

我有一个名为class1的类,在那个类中,我想在form1的文本框中写一些东西,但它不会让我访问Form1.TextBox1.text,另一个问题是它不会给我在excel中保存对话框,但这是另一个问题。

如何访问Form1控件?

Form1代码

Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Call ThisDrawing.GetFilepath(True)
    If Me.TextBox1.Text = "" Or Me.TextBox1.Text = "False" Then MsgBox("Er is geen geldige filenaam opgegeven")
End Sub

Class1代码

Public Shared Sub GetFilepath(ByVal hide As Boolean)
    Dim Xl As New Excel.Application
    Dim Filepath As String
    Call ExcelKoppelen("Z:\test\test.xls")
    Filepath = Xl.GetSaveAsFilename("", "Excel file", "*.xls")
    Form1.TextBox1.text = Filepath

End Sub

Excelkoppelen代码

 Shared Sub ExcelKoppelen(ByVal Bestand As String)
    Dim Xl As Excel.Application
    Dim Filepath As String
    Dim Workbook As Excel.Workbook
    Dim Worksheet1 As Worksheet
    Dim Worksheet2 As Worksheet
    On Error Resume Next
    Xl = GetObject(, "Excel.application")
    If Err.Number Then
        Information.Err.Clear()
        Xl = CreateObject("Excel.application")
    End If
    Xl.Visible = True
    Xl.ScreenUpdating = True
    Workbook = Xl.Workbooks.Open(Bestand)
    If Err.Number Then
        Workbook = Xl.Workbooks.Open("Z:\test\test.xls")
        Information.Err.Clear()
        Workbook.SaveAs(Bestand)
    End If

    If Err.Number Then Exit Sub
    On Error GoTo 0

    Worksheet1 = Workbook.Worksheets.Item(1)
    Worksheet2 = Workbook.Worksheets.Item(2)
    Xl.Visible = False
End Sub

1 个答案:

答案 0 :(得分:1)

您不能直接访问Form1中的控件,为Form1创建一个如下对象,并使用该对象获取控件。

Dim F as New Form1
F.TextBox1.text = Filepath 
相关问题