Sie sind auf Seite 1von 13

1.

Private Sub Command1_Click()


2. Dim XLapp As Excel.Application
3. Dim wbkMVR As Excel.Workbook
4. Dim wksLineA1 As Excel.Worksheet
5.
6. Dim sSaveAsFileName
7. sSaveAsFileName = App.Path & "\" & "Manual Visual Report.xls"
8.
9. Set XLapp = CreateObject("Excel.Application")
10. XLapp.Visible = True
11. XLapp.Workbooks.Add
12. Set wbkMVR = XLapp.ActiveWorkbook
13. Set wksLineA1 = wbkMVR.Sheets(1)
14. wksLineA1.Name = "LineA1"
15. wksLineA1.Cells(5, 6).Value = Text1.Text
16.
17. XLapp.DisplayAlerts = False
18.
19. wbkMVR.SaveAs FileName:= _
20. sSaveAsFileName, FileFormat:= _
21. xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:
=False _
22. , CreateBackup:=False
23.
24. wbkMVR.Close SaveChanges:=False
25. XLapp.Quit
26.
27. Set XLapp = Nothing
28. Set wbkMVR = Nothing
29. Set wksLineA1 = Nothing
30.
31.
32. End Sub
1. Private Sub Command1_Click()
2. Dim XLapp As Excel.Application
3. Dim wbkMVR As Excel.Workbook
4. Dim wksLineA1 As Excel.Worksheet
5.
6. Dim sSaveAsFileName
7. sSaveAsFileName = App.Path & "\" & "Manual Visual Report.xls"
8.
9. Set XLapp = CreateObject("Excel.Application")
10. XLapp.Visible = True
11. XLapp.Workbooks.Add
12. Set wbkMVR = XLapp.ActiveWorkbook
13. Set wksLineA1 = wbkMVR.Sheets(1)
14. wksLineA1.Name = "LineA1"
15. wksLineA1.Cells(5, 6).Value = Text1.Text
16. msgbox wksLineA1.Cells(5,6).value
17. XLapp.DisplayAlerts = False
18.
19. wbkMVR.SaveAs FileName:= _
20. sSaveAsFileName, FileFormat:= _
21. xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:
=False _
22. , CreateBackup:=False
23.
24. wbkMVR.Close SaveChanges:=False
25. XLapp.Quit
26.
27. Set XLapp = Nothing
28. Set wbkMVR = Nothing
29. Set wksLineA1 = Nothing
30.
31.
32. End Sub
1. Private Sub Command1_Click()
2. 'Requires reference: Microsoft Excel (version) Object Library
3. Dim XLapp As Excel.Application
4. Dim wbkMVR As Excel.Workbook
5. Dim wksLineA1 As Excel.Worksheet
6.
7.
8. Dim sOpenFileName As String, sSaveAsFileName As String
9. 'Set path to template file here
10. sOpenFileName = App.Path & "\" & "My Report Template.xls"
11. 'Set your path to save file here:
12. sSaveAsFileName = App.Path & "\" & "Manual Visual Report.xls"
13.
14. 'Create new instance of Excel
15. Set XLapp = CreateObject("Excel.Application")
16.
17. 'Make this instance visable to user
18. XLapp.Visible = True
19.
20. 'Using a template so don't add new workbook like this: XLapp.Workbooks
.Add
21.
22. 'Open template
23. XLapp.Workbooks.Open (sOpenFileName)
24.
25. 'Set reference to Active workbook (which should be the template we jus
t opened)
26. Set wbkMVR = XLapp.ActiveWorkbook
27. 'Set reference to first sheet in workbook
28. Set wksLineA1 = wbkMVR.Sheets(1)
29. 'Rename worksheet
30. wksLineA1.Name = "LineA1"
31. 'Copy text fields
32. Stop 'And read this: I used E4 instead of F4 because it looks like E4
is beginning of your merged cells for that section
33. wksLineA1.range("E4") = txtPro.Text
34. wksLineA1.range("l4") = txtLine.Text
35. wksLineA1.range("t4") = txtProDate.Text
36. wksLineA1.range("ab4") = txtInspec.Text
37.
38. 'Suppress Excel warnings
39. XLapp.DisplayAlerts = False
40.
41. 'Save workbook as whatever is in "sSaveAsFileName" variable
42. wbkMVR.SaveAs FileName:= _
43. sSaveAsFileName, FileFormat:= _
44. xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:
=False _
45. , CreateBackup:=False
46.
47. 'Close workbook
48. wbkMVR.Close SaveChanges:=False
49.
50. 'Close Excel
51. XLapp.Quit
52.
53. 'Remove refereneces
54. Set XLapp = Nothing
55. Set wbkMVR = Nothing
56. Set wksLineA1 = Nothing
57.
58.
59. End Sub

1. Private Sub Command1_Click()


2. 'Requires reference: Microsoft Excel (version) Object Library
3. Dim XLapp As New Excel.Application
4. XLapp.Visible = True
5. Dim wbkReport As Excel.Workbook
6. Dim wbkTemplate As Excel.Workbook
7. Dim wksReport As Excel.Worksheet
8. Dim wksTemplate As Excel.Worksheet
9.
10. Dim sOpenFileName As String, sSaveAsFileName As String, iSheet As Inte
ger
11.
12. 'Set path to template file here
13. sOpenFileName = App.Path & "\" & "My Report Template.xls"
14.
15. 'Set your path to save file here:
16. sSaveAsFileName = App.Path & "\" & "Manual Visual Report - " & Replace
(Date, "/", "-") & ".xls"
17.
18. 'Open template
19. Set wbkTemplate = XLapp.Workbooks.Open(sOpenFileName)
20.
21. 'Suppress Excel warnings
22. XLapp.DisplayAlerts = False
23.
24. If Dir(sSaveAsFileName) <> "" Then
25. 'if a report from today exists, reset use it as the template
26. Set wbkReport = XLapp.Workbooks.Open(sSaveAsFileName)
27. Set wksTemplate = wbkTemplate.Sheets(1)
28. wksTemplate.Copy after:=wbkReport.Sheets(wbkReport.Sheets.Count)
29. Set wksReport = wbkReport.Sheets(wbkReport.Sheets.Count)
30. wbkTemplate.Close SaveChanges:=False
31. Else
32. 'This is the first report of the day
33. Set wbkReport = wbkTemplate
34. 'Set reference to first sheet in workbook
35. Set wksReport = wbkReport.Sheets(1)
36. 'Delete extra sheets from template
37. If wbkReport.Sheets.Count > 1 Then
38. 'Start deleting extra sheets (only in this 'copy' of the templ
ate)
39. 'if they exist, starting from last sheet
40. For iSheet = wbkReport.Sheets.Count To 2 Step -1
41. If wbkReport.Sheets(iSheet).Name = "Sheet" & iSheet Then w
bkReport.Sheets(iSheet).Delete
42. Next 'iSheet
43. End If
44. End If
45.
46. 'Set report sheet name based on form name (duplicate names not allowed
...)
47. wksReport.Name = Mid(Me.Name, 4)
48.
49. 'Copy text fields
50. wksReport.range("E4") = txtPro.Text
51. wksReport.range("l4") = txtLine.Text
52. wksReport.range("t4") = txtProDate.Text
53. wksReport.range("ab4") = txtInspec.Text
54.
55. 'Save workbook as whatever is in "sSaveAsFileName" variable
56. wbkReport.SaveAs FileName:= _
57. sSaveAsFileName, FileFormat:= _
58. xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:
=False _
59. , CreateBackup:=False
60.
61. 'Close workbook
62. wbkReport.Close SaveChanges:=False
63.
64. 'Allow Excel warnings
65. XLapp.DisplayAlerts = True
66.
67. 'Remove references to sheets/workbooks before quitting (was hanging a
second on wksreport if Excel was closed already)
68. Set wksReport = Nothing
69. Set wbkReport = Nothing
70. Set wksTemplate = Nothing
71. Set wbkTemplate = Nothing
72.
73. 'Close Excel
74. XLapp.Quit
75.
76. 'Remove final reference
77. Set XLapp = Nothing
78. End Sub
79.
1. Private Sub Command1_Click()
2. 'Requires reference: Microsoft Excel (version) Object Library
3. Dim XLapp As New Excel.Application
4. XLapp.Visible = True
5. Dim wbkReport As Excel.Workbook
6. Dim wbkTemplate As Excel.Workbook
7. Dim wksReport As Excel.Worksheet
8. Dim wksTemplate As Excel.Worksheet
9.
10. Dim sOpenFileName As String, sSaveAsFileName As String, iSheet As Inte
ger
11.
12. 'Set path to template file here
13. sOpenFileName = App.Path & "\" & "My Report Template.xls"
14.
15. 'Set your path to save file here:
16. sSaveAsFileName = App.Path & "\" & "Manual Visual Report - " & Replace
(Date, "/", "-") & ".xls"
17.
18. 'Open template
19. Set wbkTemplate = XLapp.Workbooks.Open(sOpenFileName)
20.
21. 'Suppress Excel warnings
22. XLapp.DisplayAlerts = False
23.
24. If Dir(sSaveAsFileName) <> "" Then
25. 'if a report from today exists, reset use it as the template
26. Set wbkReport = XLapp.Workbooks.Open(sSaveAsFileName)
27. Set wksTemplate = wbkTemplate.Sheets(1)
28. wksTemplate.Copy after:=wbkReport.Sheets(wbkReport.Sheets.Count)
29. Set wksReport = wbkReport.Sheets(wbkReport.Sheets.Count)
30. wbkTemplate.Close SaveChanges:=False
31. Else
32. 'This is the first report of the day
33. Set wbkReport = wbkTemplate
34. 'Set reference to first sheet in workbook
35. Set wksReport = wbkReport.Sheets(1)
36. 'Delete extra sheets from template
37. If wbkReport.Sheets.Count > 1 Then
38. 'Start deleting extra sheets (only in this 'copy' of the templ
ate)
39. 'if they exist, starting from last sheet
40. For iSheet = wbkReport.Sheets.Count To 2 Step -1
41. If wbkReport.Sheets(iSheet).Name = "Sheet" & iSheet Then w
bkReport.Sheets(iSheet).Delete
42. Next 'iSheet
43. End If
44. End If
45.
46. 'Set report sheet name based on form name (duplicate names not allowed
...)
47. wksReport.Name = Mid(Me.Name, 4)
48.
49. 'Copy text fields
50. wksReport.range("E4") = txtPro.Text
51. wksReport.range("l4") = txtLine.Text
52. wksReport.range("t4") = txtProDate.Text
53. wksReport.range("ab4") = txtInspec.Text
54.
55. 'Save workbook as whatever is in "sSaveAsFileName" variable
56. wbkReport.SaveAs FileName:= _
57. sSaveAsFileName, FileFormat:= _
58. xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:
=False _
59. , CreateBackup:=False
60.
61. 'Close workbook
62. wbkReport.Close SaveChanges:=False
63.
64. 'Allow Excel warnings
65. XLapp.DisplayAlerts = True
66.
67. 'Remove references to sheets/workbooks before quitting (was hanging a
second on wksreport if Excel was closed already)
68. Set wksReport = Nothing
69. Set wbkReport = Nothing
70. Set wksTemplate = Nothing
71. Set wbkTemplate = Nothing
72.
73. 'Close Excel
74. XLapp.Quit
75.
76. 'Remove final reference
77. Set XLapp = Nothing
78. End Sub
79.

1.
2. 'Set report sheet name based on form name (duplicate names not allowed
...)
3. wksReport.Name = Mid(Me.Name, 4)
4.
5. End Sub
6.

1.
2. 'Set report sheet name based on form name (duplicate names not allowed
...)
3. wksReport.Name = Mid(Me.Name, 4)
4.
5. 'Copy text fields
6. wksReport.range("E4") = txtPro.Text
7. wksReport.range("l4") = txtLine.Text
8.
9. 'Save workbook as whatever is in "sSaveAsFileName" variable
10. wbkReport.SaveAs FileName:= _
11. sSaveAsFileName, FileFormat:= _
12. xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:
=False _
13. , CreateBackup:=False
14.
15.

1. If combobox1.Text = " 1" Then


2.
3. 'Copy text fields Part 1
4. wksReport.Range("E4") = textbox1.Text
5.
6. Else
7.
8. 'Copy text fields Part 2
9. wksReport.Range("E20") = textbox1.Text
10.

1. If combobox1.Text = " 1" Then


2.
3. 'Copy text fields Part 1
4. wksReport.Range("E4") = textbox1.Text
5.
6. Else
7.
8. 'Copy text fields Part 2
9. wksReport.Range("E20") = textbox1.Text
10.

1. 'Set report sheet name based on form name (duplicate names not allowed
...)
2. wksReport.Name = Mid(Me.Name, 4)
3.
1. if wksReport.Name <> Mid(Me.Name, 4) then wksReport.Name = Mid(Me.Name, 4)

1. 'Set report sheet name based on form name (duplicate names not allowed
...)
2. wksReport.Name = Mid(Me.Name, 4)
3.

1. If combobox1.Text = " 1" Then


2.
3. 'Copy text fields Part 1
4. wksReport.Range("E4") = textbox1.Text
5.
6. Else
7.
8. 'Copy text fields Part 2
9. wksReport.Range("E20") = textbox1.Text
10.

1. Private Sub Command1_Click()


2. 'Requires reference: Microsoft Excel (version) Object Library
3. Dim XLapp As New Excel.Application
4. XLapp.Visible = True
5. Dim wbkReport As Excel.Workbook
6. Dim wbkTemplate As Excel.Workbook
7. Dim wksReport As Excel.Worksheet
8. Dim wksTemplate As Excel.Worksheet
9.
10. Dim sOpenFileName As String, sSaveAsFileName As String, iSheet As Inte
ger, irange As Integer, i As Integer
11.
12.
13. 'Set path to template file here
14. sOpenFileName = App.Path & "\" & "root\Root.xls"
15.
16. 'Set your path to save file here:
17. sSaveAsFileName = App.Path & "\" & "Arhiva - " & Replace(Date, "/", "-
") & ".xls"
18.
19. 'Open template
20. Set wbkTemplate = XLapp.Workbooks.Open(sOpenFileName)
21.
22. 'Suppress Excel warnings
23. XLapp.DisplayAlerts = False
24.
25. If Dir(sSaveAsFileName) <> "" Then
26. 'if a report from today exists, reset use it as the template
27. Set wbkReport = XLapp.Workbooks.Open(sSaveAsFileName)
28. Set wksTemplate = wbkTemplate.Sheets(1)
29.
30.
31. 'wksTemplate.Copy after:=wbkReport.Sheets(wbkReport.Sheets.Count)
32. 'Set wksReport = wbkReport.Sheets(wbkReport.Sheets.Count)
33.
34.
35. wbkTemplate.Close SaveChanges:=False
36. Else
37. 'This is the first report of the day
38. Set wbkReport = wbkTemplate
39. 'Set reference to first sheet in workbook
40. Set wksReport = wbkReport.Sheets(1)
41. 'Delete extra sheets from template
42. If wbkReport.Sheets.Count > 1 Then
43. 'Start deleting extra sheets (only in this 'copy' of the templ
ate)
44. 'if they exist, starting from last sheet
45. For iSheet = wbkReport.Sheets.Count To 2 Step -1
46. If wbkReport.Sheets(iSheet).Name = "Sheet" & iSheet Then w
bkReport.Sheets(iSheet).Delete
47. Next 'iSheet
48. End If
49. End If
50.
51. 'Set report sheet name based on form name (duplicate names not allowed
...)
52.
53.
54. 'Copy text fields
55. wksReport.Range("A2") = Text1.Text
56. wksReport.Range("B2") = Text2.Text
57.
58.
59. 'Save workbook as whatever is in "sSaveAsFileName" variable
60. wbkReport.SaveAs FileName:= _
61. sSaveAsFileName, FileFormat:= _
62. xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:
=False _
63. , CreateBackup:=False
64.
65. 'Close workbook
66. wbkReport.Close SaveChanges:=False
67.
68. 'Allow Excel warnings
69. XLapp.DisplayAlerts = True
70.
71. 'Remove references to sheets/workbooks before quitting (was hanging a
second on wksreport if Excel was closed already)
72. Set wksReport = Nothing
73. Set wbkReport = Nothing
74. Set wksTemplate = Nothing
75. Set wbkTemplate = Nothing
76.
77. 'Close Excel
78. XLapp.Quit
79.
80. 'Remove final reference
81. Set XLapp = Nothing
82.
83. End Sub

1. ' Copy text fields


2. 'wksReport.Range("A2") = Text1.Text
3. 'wksReport.Range("B2") = Text2.Text
4. Dim FirstCellOfNewRow As Range
5.
6. ' This is the same as going to A65536, pressing CTRL+Up Arrow, then re
leasing CTRL and hitting down arrow to select the first cell of a new row.
7. Set FirstCellOfNewRow = wksReport.Range("A65536").End(xlUp).Offset(1,
0)
8.
9. FirstCellOfNewRow.Value = "first column"
10. FirstCellOfNewRow.Offset(0, 1).Value = "second"
11. FirstCellOfNewRow.Offset(0, 2).Value = "third"
12. FirstCellOfNewRow.Offset(0, 3).Value = "fourth"
13. FirstCellOfNewRow.Offset(0, 4).Value = "fifth"
14.

1. Option Explicit
2. Const UseNewSheetPerSave As Boolean = False
3. Private Sub Command1_Click()
4. 'Requires reference: Microsoft Excel (version) Object Library
5. Dim XLapp As New Excel.Application
6. XLapp.Visible = True
7. Dim wbkReport As Excel.Workbook
8. Dim wbkTemplate As Excel.Workbook
9. Dim wksReport As Excel.Worksheet
10. Dim wksTemplate As Excel.Worksheet
11.
12. Dim sOpenFileName As String, sSaveAsFileName As String, iSheet As Inte
ger, irange As Integer, i As Integer
13.
14.
15. 'Set path to template file here
16. 'sOpenFileName = App.Path & "\" & "root\Root.xls"
17. sOpenFileName = "C:\bytesdotcom\vbformToExcel\template.xls"
18.
19. 'Set your path to save file here:
20. 'sSaveAsFileName = App.Path & "\" & "Arhiva - " & Replace(Date, "/", "
-") & ".xls"
21. sSaveAsFileName = "C:\bytesdotcom\vbformToExcel\daily - " & Replace(Da
te, "/", "-") & ".xls"
22.
23. 'Open template
24. Set wbkTemplate = XLapp.Workbooks.Open(sOpenFileName)
25.
26. 'Suppress Excel warnings
27. XLapp.DisplayAlerts = False
28.
29. If Dir(sSaveAsFileName) <> "" Then
30. 'if a report from today exists, use it as the template
31. Set wbkReport = XLapp.Workbooks.Open(sSaveAsFileName)
32. Set wksTemplate = wbkTemplate.Sheets(1)
33.
34. If UseNewSheetPerSave = True Then
35. wksTemplate.Copy after:=wbkReport.Sheets(wbkReport.Sheets.Coun
t)
36. Set wksReport = wbkReport.Sheets(wbkReport.Sheets.Count)
37. Else
38. Set wksReport = wbkReport.Sheets(1)
39. End If
40.
41. wbkTemplate.Close SaveChanges:=False
42. Else
43. 'This is the first report of the day
44. Set wbkReport = wbkTemplate
45. 'Set reference to first sheet in workbook
46. Set wksReport = wbkReport.Sheets(1)
47. 'Delete extra sheets from template
48. If wbkReport.Sheets.Count > 1 Then
49. 'Start deleting extra sheets (only in this 'copy' of the templ
ate)
50. 'if they exist, starting from last sheet
51. While wbkReport.Sheets.Count > 1
52. wbkReport.Sheets(2).Delete
53. Wend
54. End If
55. End If
56.
57. 'Set report sheet name based on form name (duplicate names not allowed
...)
58.
59.
60.
61. ' Copy text fields
62. 'wksReport.Range("A2") = Text1.Text
63. 'wksReport.Range("B2") = Text2.Text
64. Dim FirstCellOfNewRow As Range
65.
66. ' This is the same as going to A65536, pressing CTRL+Up Arrow, then re
leasing CTRL and hitting down arrow to select the first cell of a new row.
67. Set FirstCellOfNewRow = wksReport.Range("A65536").End(xlUp).Offset(1,
0)
68.
69. FirstCellOfNewRow.Value = TextBox1.Text
70. FirstCellOfNewRow.Offset(0, 1).Value = TextBox2.Text
71. FirstCellOfNewRow.Offset(0, 2).Value = "a third value could go here"
72. FirstCellOfNewRow.Offset(0, 3).Value = "a fourth value could go here"
73. FirstCellOfNewRow.Offset(0, 4).Value = "a fifth value could go here"
74.
75. 'Save workbook as whatever is in "sSaveAsFileName" variable
76. wbkReport.SaveAs Filename:= _
77. sSaveAsFileName, FileFormat:= _
78. xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:
=False _
79. , CreateBackup:=False
80.
81. 'Close workbook
82. wbkReport.Close SaveChanges:=False
83.
84. 'Allow Excel warnings
85. XLapp.DisplayAlerts = True
86.
87. 'Remove references to sheets/workbooks before quitting (was hanging a
second on wksreport if Excel was closed already)
88. Set wksReport = Nothing
89. Set wbkReport = Nothing
90. Set wksTemplate = Nothing
91. Set wbkTemplate = Nothing
92.
93. 'Close Excel
94. XLapp.Quit
95.
96. 'Remove final reference
97. Set XLapp = Nothing
98.
99.
100. End Sub
101.

http://p2p.wrox.com/vb-how/30-read-write-excel-file-using-vb6.html

Das könnte Ihnen auch gefallen