2011-10-18 94 views
0

我有一个类叫做class1,在那个类中我不想让Form1的文本框中写入东西,但它不会让我访问Form1.TextBox1.text,另一个问题是它不会给我在Excel中的保存对话框,但那是另一个问题。不能从另一个类访问form1

我如何访问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

您无法访问到Form1一样,直接的控制,如下创建为Form对象并通过使用该对象来获取控件。

Dim F as New Form1 
F.TextBox1.text = Filepath 
+0

谢谢,现在完美的作品,除了excel部分。 – PandaNL