vu_tuan_manh_linh
linhvtm84@gmail.com
- Tham gia
- 27/2/10
- Bài viết
- 2,635
- Được thích
- 1,902
- Giới tính
- Nam
- Nghề nghiệp
- Kỹ sư Kinh tế Xây dựng
Cảm ơn doveandrose! Cái đó thì đương nhiên rồi. Ý mình là statusbar vẫn hiện, nhưng ẩn cái process đó đi, kiểu như application.statusbar="". Mình đã thử bằng cách cho application.screenupdating=false trước Application.DisplayStatusBar thì cũng tàm tạm!!nghe nói nó là Application.DisplayStatusBar
Cùng lúc tôi mở nhiều workbook. Nếu đặt lệnh Application.ScreenUpdating=False 1 lần trước lệnh mở workbook đầu tiên thì chỉ thực thi với workbook đó. Các workbook sau vẫn hiện tiến trình mở file. Có lẽ do lệnh Application.ScreenUpdating tự đặt lại giá trị True sau khi mở 1 file.đã có application.screenupdating=false thì dẹp luôn Application.DisplayStatusBar
Cùng lúc tôi mở nhiều workbook. Nếu đặt lệnh Application.ScreenUpdating=False 1 lần trước lệnh mở workbook đầu tiên thì chỉ thực thi với workbook đó. Các workbook sau vẫn hiện tiến trình mở file. Có lẽ do lệnh Application.ScreenUpdating tự đặt lại giá trị True sau khi mở 1 file.
Tôi mở các file bằng 1 exe vb6. Có lẽ do là môi trường "ngoài" nên lệnh trên mới tự đặt lại True khi mở workbook mới. Sự thật diễn ra như đúng tôi nói tại #5, không biết giải thích thế nào nữa!!tùy tiện thay đổi giá trị Application.ScreenUpdating mà không có sự can thiệp của người dùng thì còn ai dám xài excel nữa ?
Bạn có mở 100 file excel thì Application.ScreenUpdating vẫn chả có gì khác , còn không thì bạn cho xem những file của bạn tôi mới tin .
Tôi mở các file bằng 1 exe vb6. Có lẽ do là môi trường "ngoài" nên lệnh trên mới tự đặt lại True khi mở workbook mới. Sự thật diễn ra như đúng tôi nói tại #5, không biết giải thích thế nào nữa!!
Oh! Sorry, là code VBNet, nhưng có lẽ không khác biệt là mấy so với VB6. Code thê này đây ạ!Ở đây ta cứ thoải mái bàn , tôi đâu có ý gì khác . Bạn cho biết trong VB6 mở bằng code gì ? mỗi lần mở file là tạo thêm 1 [FONT=&]CreateObject(“Excel.Application”) chăng ?[/FONT]
Imports System
Imports System.Diagnostics
Imports Excel = Microsoft.Office.Interop.Excel
Module Module1
Sub Main()
Dim XlApp As Excel.Application
Dim Wb As Excel.Workbook
Dim XlAdd1 As Excel.Workbook
Dim XlAdd2 As Excel.Workbook
Dim FolderLink As String
FolderLink = CurDir()
XlApp = New Excel.Application
Wb = XlApp.Workbooks.Open(Filename:=FolderLink & "\Temple.xlsm)
XlApp.Visible = True
XlApp.ScreenUpdating = False
XlAdd1 = XlApp.Workbooks.Open(Filename:=FolderLink & "\Data\Data0.xlam)
If XlAdd1.Worksheets("Sheet1").Cells(1, 1).Value = True Then
XlApp.ScreenUpdating = False
XlAdd2 = XlApp.Workbooks.Open(Filename:=FolderLink & "\Data\Data1.xlam")
XlApp.ScreenUpdating = False
XlAdd2 = XlApp.Workbooks.Open(Filename:=FolderLink & "\Data\Data2.xlam")
XlApp.ScreenUpdating = False
XlAdd2 = XlApp.Workbooks.Open(Filename:=FolderLink & "\Data\Data3.xlam")
End If
XlApp.ScreenUpdating = True
End Sub
End Module
Hơi lằng nhằng 1 chút khi lặp lại lệnh, nhưng không sao, đã giải quyết được vấn đề. Cảm ơn doveandrose đã thảo luận!! (Không có nút cảm ơn nên hơi dài dòng chút, hihi!)ừ . Tôi đã thử mở vài file Xlam bằng VB.net , có file sẽ tự làm thay đổi Application.ScreenUpdating về True khi Mở mặc dù trong Addin đó ko có lệnh nào là Application.ScreenUpdating cả . Theo như tôi thấy thì Addin nào có lệnh chèn Menu vào Ribon sẽ tự làm cho Application.ScreenUpdating trở về True .
các file excel thường thì chưa thấy bị .
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 1
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 2