Lấy dữ liệu của file win trong C:\Windows

Liên hệ QC

lulyen

Thành viên mới
Tham gia
29/10/08
Bài viết
35
Được thích
2
Các bác giúp em đoạn Code lấy toàn bộ dữ liệu trong file C:\Windows\win (file Configuration Setings) vào Excel, em xin cảm ơn!
 
Các bác giúp em đoạn Code lấy toàn bộ dữ liệu trong file C:\Windows\win (file Configuration Setings) vào Excel, em xin cảm ơn!
File win là file gì? Là win.ini đấy à?
Nếu đúng là thế, cứ dùng bất cứ code nào đọc được file text là xơi thôi (chẳng hạn như dùng FileSystemObject)
 
Bạn tìm code đọc file txt sẽ biết cách làm
 
Tôi thử chạy code thì nó thông báo thế này (tạm hiểu là không dùng code để lấy dữ liệu được):

Microsoft Excel has stopped working.
Hang on windows reports the prolem to Microsoft.
A problem caused the program to stop working correctly.
Windows will close the program and notify you it a solution is available.

A_Khong.JPG
 
Bạn nhận file!!!
 

File đính kèm

  • Book1.xlsb
    15.3 KB · Đọc: 16
Lần chỉnh sửa cuối:
Bạn thử xem sao (Tôi chạy thay được):
Mã:
Sub GetWinINI()
    With Sheet2.QueryTables.Add(Connection:="TEXT;C:\Windows\win.ini", Destination:=Range("$A$1"))
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
       .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileColumnDataTypes = Array(1)
       .Refresh BackgroundQuery:=False
    End With
End Sub
 
bài #6 và bài #7 chạy tốt

Mà không biết lấy thông tin đó làm chi nữa ta :D
 
Tôi thử chạy code thì nó thông báo thế này (tạm hiểu là không dùng code để lấy dữ liệu được):

Microsoft Excel has stopped working.
Hang on windows reports the prolem to Microsoft.
A problem caused the program to stop working correctly.
Windows will close the program and notify you it a solution is available.

View attachment 188502
Code thế nào mà không được vậy anh?
Em làm đơn giản vầy thôi
Mã:
Sub Test()
  With CreateObject("Scripting.FileSystemObject")
    With .OpenTextFile("C:\Windows\win.ini")
      MsgBox .ReadAll
      .Close
    End With
  End With
End Sub
 
Lỗi do quyền của current user có quyền đọc vào các thư mục của Quýnh Đồ hay không ?!
 
Cảm ơn bạn, Code chạy đúng như mình mong muốn, bạn có thể giúp thêm mình vấn đề này nữa được không: đó là mình chỉ cần lấy mỗi thông tin sau dấu "=" của dòng CMCDLLNAME32=mapi32.dll mà không cần lấy các thông tin bên trên và bên dưới của dòng đó, xin cảm ơn!
 
Cảm ơn bạn, Code chạy đúng như mình mong muốn, bạn có thể giúp thêm mình vấn đề này nữa được không: đó là mình chỉ cần lấy mỗi thông tin sau dấu "=" của dòng CMCDLLNAME32=mapi32.dll mà không cần lấy các thông tin bên trên và bên dưới của dòng đó, xin cảm ơn!
Chưa hiểu ý bạn lắm, bạn nhận lại file xem!!!
 

File đính kèm

  • Book1 (1).xlsb
    15.3 KB · Đọc: 13
Bạn có thể dùng hàm API GetProfileString:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms724366(v=vs.85).aspx
lpAppName = "Mail"
lpKeyName = "CMCDLLNAME32"
lpDefault = ""

Khai báo trong VBA:
Mã:
#If VBA7 Then
    Declare PtrSafe Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long
#Else
    Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long
#End If
TQN
 
Bạn có thể dùng hàm API GetProfileString:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms724366(v=vs.85).aspx
lpAppName = "Mail"
lpKeyName = "CMCDLLNAME32"
lpDefault = ""

Khai báo trong VBA:
Mã:
#If VBA7 Then
    Declare PtrSafe Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long
#Else
    Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long
#End If
TQN
bạn cho mình xin file mẫu ví dụ
 
Cái này liên quan gì đến CSDL?
 
Web KT
Back
Top Bottom