• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Đọc và Ghi trên Excel (xls) với TextBox chuẩn

Các thủ thuật liên quan đến việc xử lý ứng dụng, biểu mẫu và control
Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 509 time

Đọc và Ghi trên Excel (xls) với TextBox chuẩn

Gửi bàigửi bởi truongphu » T.Năm 14/04/2011 10:25 pm

Thủ thuật: Đọc và Ghi trên Excel (xls) với TextBox chuẩn
Tác giả: truongphu
Mô tả: Đọc và Ghi trên Excel (xls) với TextBox chuẩn



Ta đã quen với việc muốn đọc và ghi trên file Excel (xls) buộc phải chèn thư viện Excel
Bài viết kèm Project sau rình bày kỹ thuật Đọc và Ghi trên Excel (xls) với TextBox chuẩn
(Thực ra là do DDE [Dynamic Data Exchange] thực hiện, mà TextBox chuẩn được MS thiết kế có kèm hoạt động của DDE)

* Code hoạt động trên XP SP2, cần Text1 và vài command như trong code
Giao tiếp với file XLS (2003)
  1. Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
  2. Const SW_SHOWNORMAL = 1
  3.  
  4. Private Sub Command1_Click() ' Ðoc Sheet1
  5.        OpenExcel
  6.        Text1.LinkMode = 0
  7.        Text1.LinkTopic = "Excel|Book1.xls"
  8.        Text1.LinkItem = "R1C1:R6C2"
  9.        Text1.LinkMode = 1
  10.        Text1.LinkMode = 0
  11.         CloseExcel
  12. End Sub
  13.  
  14.  'truongphu
  15. Private Sub Command2_Click() ' Ðoc Sheet2
  16.        OpenExcel
  17.        Text1.LinkMode = 0
  18.        Text1.LinkTopic = "Excel|Sheet2"
  19.        Text1.LinkItem = "R1C1:R6C2"
  20.        Text1.LinkMode = 1
  21.        Text1.LinkMode = 0
  22.         CloseExcel
  23. End Sub
  24.  
  25. Private Sub Command3_Click() ' Ghi Sheet1
  26.        OpenExcel
  27.        Text1.LinkMode = 0
  28.        Text1.LinkTopic = "Excel|Sheet1"
  29.        Text1.LinkItem = "R1C4:R2C6"
  30.        Text1.LinkMode = 1
  31.        Text1 = "Ho" & vbTab & "Tên" & vbTab & "Tuôi" & vbCrLf & "Bùi" & vbTab & "Toàn" & vbTab & 22
  32.        Text1.LinkPoke
  33.        Text1.LinkMode = 0
  34.         'CloseExcel
  35. End Sub
  36.  
  37. Private Sub Command4_Click() ' Font Cell
  38.        OpenExcel
  39.        Text1.LinkMode = 0
  40.        Text1.LinkTopic = "Excel|Sheet1"
  41.        Text1.LinkMode = 1
  42.        Text1.LinkExecute ("[SELECT(""R2C5"")]")
  43.        Text1.LinkExecute ("[FONT.PROPERTIES(""Times New Roman"",""Bold"",10)]")
  44.        Text1.LinkMode = 0
  45.         'CloseExcel
  46. End Sub
  47.  
  48. Sub CloseExcel() ' not save
  49. Set aaa = GetObject("winmgmts:\root\cimv2").ExecQuery _
  50.     ("Select * from Win32_Process Where Name = 'Excel.exe'")
  51. For Each a In aaa
  52.     a.Terminate
  53. Next
  54. End Sub
  55.  
  56. Sub OpenExcel()
  57.     If IsFileOpen(App.Path & "\qqq.xls") = False Then
  58.     ShellExecute Me.hwnd, vbNullString, App.Path & "\Book1.xls", _
  59.     vbNullString, vbNullString, SW_SHOWNORMAL
  60.     End If
  61. End Sub
  62.  
  63. Function IsFileOpen(FileName As String) As Boolean
  64.     Dim filenum As Integer 'truongphu
  65.    filenum = FreeFile()
  66.     On Error Resume Next
  67.     Open FileName For Input Lock Read As #filenum
  68.     Close filenum
  69.     Select Case Err
  70.         Case 0
  71.             IsFileOpen = False
  72.         Case 70
  73.             IsFileOpen = True
  74.         Case Else
  75.     End Select
  76. End Function
  77.  
Tập tin đính kèm
DDE Ðoc Ghi Excel.rar
(3.26 KiB) Đã tải 1287 lần


o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 509 time

TextBox chuẩn truy vấn Access

Gửi bàigửi bởi truongphu » T.Sáu 15/04/2011 10:24 am

"Chơi" luôn cái truy vấn Access:
  1. Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
  2. Const SW_SHOWNORMAL = 1
  3. ' truongphu
  4.  
  5. Private Sub Command1_Click()
  6.         OpenAccess
  7.       Text1.LinkTopic = "MSACCESS|db1;TABLE Table1"
  8.       Text1.LinkMode = 2     ' manual DDE link
  9.      Text1.LinkItem = "All"
  10.       Text1.LinkRequest
  11.       Text1.LinkMode = 0
  12.         CloseAccess
  13. End Sub
  14.  
  15. Private Sub Command2_Click()
  16.         OpenAccess
  17.       Text1.LinkTopic = "MSACCESS|db1;SQL Select * From Table1 Where Tuôi <20"
  18.       Text1.LinkMode = 2     ' manual DDE link
  19.      Text1.LinkItem = "All"
  20.       Text1.LinkRequest
  21.       Text1.LinkMode = 0
  22.         CloseAccess
  23. End Sub
  24.  
  25. Sub CloseAccess() ' not save
  26. Set aaa = GetObject("winmgmts:\root\cimv2").ExecQuery _
  27.     ("Select * from Win32_Process Where Name = 'MSAccess.exe'")
  28. For Each a In aaa
  29.     a.Terminate
  30. Next
  31. End Sub
  32.  
  33. Sub OpenAccess()
  34.     If IsFileOpen(App.Path & "\db1.mdb") = False Then
  35.     ShellExecute Me.hwnd, vbNullString, App.Path & "\db1.mdb", _
  36.     vbNullString, vbNullString, SW_SHOWNORMAL
  37.     End If
  38. End Sub
  39.  
  40. Function IsFileOpen(FileName As String) As Boolean
  41.     Dim filenum As Integer 'truongphu
  42.    filenum = FreeFile()
  43.     On Error Resume Next
  44.     Open FileName For Input Lock Read As #filenum
  45.     Close filenum
  46.     Select Case Err
  47.         Case 0
  48.             IsFileOpen = False
  49.         Case 70
  50.             IsFileOpen = True
  51.         Case Else
  52.     End Select
  53. End Function
  54.  
Tập tin đính kèm
DDE to Request MS Access Data.rar
(8.9 KiB) Đã tải 619 lần
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

Hình đại diện của người dùng
NXK1138
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 88
Ngày tham gia: T.Sáu 19/03/2010 1:29 pm
Has thanked: 2 time
Been thanked: 2 time

Re: Đọc và Ghi trên Excel (xls) với TextBox chuẩn

Gửi bàigửi bởi NXK1138 » T.Ba 09/08/2011 9:34 am

Anh Phú ơi em có thắc mắc là. Hai cái ứng dụng trên của anh khi chạy nó cứ gọi open ứng dụng (excel hoặc access) ra rồi nó mới đóng chứ nó không chạy ở chế độ nền giống như khi ta truy vấn csdl. Có cách nào khắc phục cái đó không ạ?

Hình đại diện của người dùng
gtdcomputer
Thành viên danh dự
Thành viên danh dự
Bài viết: 1296
Ngày tham gia: T.Sáu 18/07/2008 12:08 pm
Đến từ: Kiên Giang
Has thanked: 8 time
Been thanked: 117 time
Liên hệ:

Re: Đọc và Ghi trên Excel (xls) với TextBox chuẩn

Gửi bàigửi bởi gtdcomputer » T.Ba 09/08/2011 9:45 am

Cái này là link cái text box của mình vào cell trong Access và Excel đang chạy. Tức là nó chạy mình mới bắt nó đc.Thủ thật này giống với thủ thật bắt liên kết đang truy cập trong IE và Firefox. Muốn nó đừng hiện ra thì tìm cái giống này:Nhưng mà là HIDEN rồi bỏ vô cái ShellExecute
Con người không quan tâm đến sự thật. Họ tin cái họ muốn, và về sau, cái đó sẽ trở thành sự thật


Quay về “[VB] Ứng dụng - Form và Control”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.3 khách