VBA có thể làm được 1 chương trình đồng bộ web (giống như khai báo Hải Quan) không? Hay dùng gì? (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

phanminhphuong

Thành viên hoạt động
Tham gia
26/7/13
Bài viết
127
Được thích
69
Chào mọi người!

Mình muốn hỏi VBA/ VB có đủ các công cụ cần thiết để làm được 1 phần mềm khai báo Hải Quan không (https://vnsw.gov.vn).
Giống như cách mà chương trình ECUS - VNACCS khai báo Hải Quan điện tử ấy.

* Hoặc như phần mềm đồng bộ dữ liệu khai báo này:
https://www.youtube.com/playlist?list=PLUSBtpiJVLjJzOdnZmYhL3WZ0tOKjFaCs
trước thấy họ làm hay quá mà liên lạc 2B System Co., LTD không trả lời, giờ chả tìm thấy ở đâu nữa.

Nếu VBA không thể làm được vui lòng cho biết ngôn ngữ lập trình nào ổn/ học và áp dụng nhanh & có thể xử lý được yêu cầu, mình không ngại mất thời gian để tìm hiểu và làm vì mình sống cả đời với bạn https://vnsw.gov.vn này.

Mong mọi người cho lời khuyên/ hướng đi hợp lý.

Chân thành cám ơn!
 
Cám ơn bạn!

Theo hình thì chương trình xuất nhập khẩu chỉ để quản lý dữ liệu xuất nhập trên excel đúng không ạ?
Mình muốn tìn hiểu 1 chương trình nói nôm na là đồng bộ dữ liệu người dùng khai báo (có thể trên excel) với dữ liệu trên web (lấy dữ liệu từ web về, tải dữ liệu lên). Dùng control webbrowser của VBA thì thấy là yếu và chậm.

Ngôn ngữ lập trình nào phù hợp nhất với việc thao tác, lấy dữ liệu, đồng bộ dữ liệu với web vậy các bạn?
 
Lần chỉnh sửa cuối:
Upvote 0
Cám ơn bạn!

Theo hình thì chương trình xuất nhập khẩu chỉ để quản lý dữ liệu xuất nhập trên excel đúng không ạ?
Mình muốn tìn hiểu 1 chương trình nói nôm na là đồng bộ dữ liệu người dùng khai báo (có thể trên excel) với dữ liệu trên web (lấy dữ liệu từ web về, tải dữ liệu lên). Dùng control webbrowser của VBA thì thấy là yếu và chậm.

Ngôn ngữ lập trình nào phù hợp nhất với việc thao tác, lấy dữ liệu, đồng bộ dữ liệu với web vậy các bạn?

Chả có cách nào dung VBA khả thi đâu, cái này điều khiển Internet Explorer để đăng nhập và upload file làm tồi hồi còn e-manifest : https://e-manifest.customs.gov.vn

Mã:
Option Explicit

Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Global Const SW_MAXIMIZE = 3
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Sub Add_Document()
  Dim oIE As Object ' InternetExplorer.Application
  Dim sURL As String
  Dim UserN As Object ' MSHTML.IHTMLElement
  Dim PW As Object ' MSHTML.IHTMLElement
  'Dim Element As Object ' HTMLButtonElement
  Dim btnInput As Object ' MSHTML.HTMLInputElement
  Dim ElementCol As Object ' MSHTML.IHTMLElementCollection
  'Dim Link As Object ' MSHTML.HTMLAnchorElement
  Dim ieDoc As Object  'MSHTML.HTMLDocument
  Dim i As Long, j As String, k, m As String, n As String, r As Long, s As String, t, u As String, v As String, x As String, y As String
  Dim sText As String, startS As String, endS As String, sMv As String
  Const Agency As String = "Agency"
 
On Error Resume Next
 
Application.ScreenUpdating = False
Application.Visible = False

Select Case Application.Assistant.DoAlert("NOTICE - " & Agency, [U64].Value, msoAlertButtonOKCancel, msoAlertIconInfo, msoAlertDefaultFirst, msoAlertCancelFirst, False)
    Case vbCancel
        GoTo TheEnd
End Select

Kill_IE_Process 'Dong tat ca cac cua so IE

'===== VAO TRANG THEM HO SO E-MANIFEST ============
Set oIE = CreateObject("InternetExplorer.Application")
    sURL = "https://e-manifest.customs.gov.vn/profile/record/list.aspx"

With oIE
    .Navigate sURL
    .Visible = True
    apiShowWindow .hwnd, SW_MAXIMIZE
    'Loop until the page finishes loading
    Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
End With

'===== NHAN VAO NUT CONFIRM ========================
Set ieDoc = oIE.Document
Set btnInput = ieDoc.all.Item("overridelink")
    btnInput.Click
Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop

'===== DANG NHAP ===================================
u = "ctl00$PlaceHolderMain$signInControl$"
v = "ctl00$ctl27$wPshipList$ctl00$"
x = "ctl00_ctl27_wPshipList_ctl00"
y = "__tab_" & x & "_tabDocument_"

Set UserN = ieDoc.getElementsByName(u & "UserName")
If Not UserN Is Nothing Then
    UserN(0).Value = "577777777"   'UserName (thay doi phu hop)
End If
 
Set PW = ieDoc.getElementsByName(u & "password")
If Not PW Is Nothing Then
    PW(0).Value = "password"      'Password
End If

Set btnInput = ieDoc.all.Item("ctl00_PlaceHolderMain_signInControl_login")
    btnInput.Click                  'Click Dang Nhap
Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop

'====================================================
sText = ieDoc.body.innerHTML                    'Lay Source code Web
startS = InStr(sText, x & "_ddlShip")
endS = InStr(sText, v & "ddlPort")
sText = Mid(sText, startS, endS - startS)       'Lay doan giua ten tau trong Source web

If InStr(UCase(sText), UCase([D6])) > 0 Then    'NEU TAU CO TRONG HE THONG E-MANIFEST
ReDo:
    sURL = "https://e-manifest.customs.gov.vn/profile/record/add.aspx"
    oIE.Navigate sURL
    Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop
    '===== DIEN THONG TIN TAO HO SO TAU =============
    For i = 1 To 8
        Select Case i
            'Case 1:     j = v & "ddlShip":              k = sRet                'Ten tau
            Case 1:     j = v & "ddlDocumentType":      k = [E5]                'Loai ho so
            Case 2:     j = v & "ddlPort":              k = [E8]                'Ten cang
            Case 3:     j = v & "txtCaption":           k = UCase(Trim([D7]))   'Master name
            Case 4:     j = v & "txtTime":              k = [E10]               'Thoi gian den/ chay
            Case 5:     j = v & "ddlHours":             k = [D13]               'Gio
            Case 6:     j = v & "ddlMinutes":           k = [D14]               'Phut
            Case 7:     j = v & "txtVoyageNumber":      k = UCase(Trim([D15]))  'Voy no.
            Case 8:     j = v & "txtRemarks":           k = UCase(Trim([D16]))  'Remarks
        End Select
        Set UserN = ieDoc.getElementsByName(j)
        If Not UserN Is Nothing Then
            UserN(0).Value = k
        End If
    Next i
    
    apiShowWindow oIE.hwnd, SW_SHOWMINIMIZED
    Application.Visible = True
    Select Case Application.Assistant.DoAlert("FILL VSL NAME - " & Agency, [U75].Value, msoAlertButtonOKCancel, msoAlertIconInfo, msoAlertDefaultFirst, msoAlertCancelFirst, False)
        Case vbOK
        Case Else
            GoTo TheEnd
    End Select
    Application.Visible = False
    
    '===== NHAN NUT TAO HO SO TAU ===================
    Set btnInput = ieDoc.all.Item(x & "_lblAdd")
        btnInput.Click              'Click Dang Nhap
    Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop
    
    '===== TAI/ UPLOAD BAN KHAI HANG HOA ============
    oIE.Visible = False
    Select Case Application.Assistant.DoAlert("UPLOAD GOOD DECLARATION - " & Agency, [U65].Value, msoAlertButtonOKCancel, msoAlertIconInfo, msoAlertDefaultFirst, msoAlertCancelFirst, False)
        Case vbCancel
            GoTo TheEnd
        End Select
        oIE.Visible = True
        u = x & "_tabDocument_TabPanel"
        
        Set btnInput = ieDoc.all.Item(u & "0_upFileGoodDecralation_rdnStatus_1")
            btnInput.Click              'chon nut thay doi
        Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop

        Set btnInput = ieDoc.all.Item(u & "0_upFileGoodDecralation_fileUpload")
            btnInput.Click              'mo cua so chon file upload
        Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop

        Set btnInput = ieDoc.all.Item(u & "0_upFileGoodDecralation_lbtnSave")
            btnInput.Click              'Nhan vao nut Upload
        Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop
    '===== TAI/ UPLOAD CARGO MANIFEST ===============
    oIE.Visible = False
    Select Case Application.Assistant.DoAlert("UPLOAD CARGO MANIFEST - " & Agency, [U66].Value, msoAlertButtonYesNoCancel, msoAlertIconInfo, msoAlertDefaultFirst, msoAlertCancelFirst, False)
        Case vbYes
UploadManifest:
            oIE.Visible = True
            
            Set btnInput = ieDoc.all.Item(y & "TabPanel1")
                btnInput.Click              'chuyen tab Upload BL
            Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop
            '-----------------
            Set btnInput = ieDoc.all.Item(u & "1_upFileHouseBill_rdnStatus_1")
                btnInput.Click              'chon nut thay doi
            Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop
            '-----------------
            Set btnInput = ieDoc.all.Item(u & "1_upFileHouseBill_fileUpload")
                btnInput.Click              'mo cua so chon file upload
            Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop
            '-----------------
            Set btnInput = ieDoc.all.Item(u & "1_upFileHouseBill_lbtnSave")
                btnInput.Click              'Nhan vao nut Tai len
            Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop
            '-----------------
            oIE.Visible = False
            If MsgBox("Do you want to upload other Cargo Manifest?", vbOKCancel, "UPLOAD OTHER CARGO MANIFEST") = vbOK Then GoTo UploadManifest
        Case vbCancel
            GoTo TheEnd
    End Select
    
    '===== TAI/ UPLOAD BAN KHAI CHUNG ================
    oIE.Visible = False
    Select Case Application.Assistant.DoAlert("UPLOAD GENERAL DECLARATION - " & Agency, [U67].Value, msoAlertButtonYesNoCancel, msoAlertIconInfo, msoAlertDefaultFirst, msoAlertCancelFirst, False)
        Case vbYes
            oIE.Visible = True
            Set btnInput = ieDoc.all.Item(y & "TabPanel2")
                btnInput.Click              'chuyen tab Upload Bkc
            Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop
        
            Set btnInput = ieDoc.all.Item(u & "2_upFileGeneralDecralation_rdnStatus_1")
                btnInput.Click              'chon nut thay doi
            Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop

            Set btnInput = ieDoc.all.Item(u & "2_upFileGeneralDecralation_fileUpload")
                btnInput.Click              'mo cua so chon file upload
            Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop

            Set btnInput = ieDoc.all.Item(u & "2_upFileGeneralDecralation_lbtnSave")
                btnInput.Click              'Nhan vao nut Upload
            Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop
        Case vbCancel
            GoTo TheEnd
    End Select
        
    '===== TAI/ UPLOAD CREW LIST =====================
    oIE.Visible = False
    Select Case Application.Assistant.DoAlert("UPLOAD CREW LIST - " & Agency, [U68].Value, msoAlertButtonYesNoCancel, msoAlertIconInfo, msoAlertDefaultFirst, msoAlertCancelFirst, False)
        Case vbYes
            oIE.Visible = True
            Set btnInput = ieDoc.all.Item(y & "TabPanel3")
                btnInput.Click              'chuyen tab Upload Crew List
            Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop
        
            Set btnInput = ieDoc.all.Item(u & "3_upFileCrew_rdnStatus_1")
                btnInput.Click              'chon nut thay doi
            Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop

            Set btnInput = ieDoc.all.Item(u & "3_upFileCrew_fileUpload")
                btnInput.Click              'mo cua so chon file upload
            Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop

            Set btnInput = ieDoc.all.Item(u & "3_upFileCrew_lbtnSave")
                btnInput.Click              'Nhan vao nut Upload
            Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop
        Case vbCancel
            GoTo TheEnd
    End Select
        
    '===== TAI/ UPLOAD CREW 'S EFFECT ================
    oIE.Visible = False
    Select Case Application.Assistant.DoAlert("UPLOAD CREW 'S EFFECT DECLARATION - " & Agency, [U69].Value, msoAlertButtonYesNoCancel, msoAlertIconInfo, msoAlertDefaultFirst, msoAlertCancelFirst, False)
        Case vbYes
            oIE.Visible = True
            Set btnInput = ieDoc.all.Item(y & "TabPanel4")
                btnInput.Click              'chuyen tab Upload Bkc
            Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop
        
            Set btnInput = ieDoc.all.Item(u & "4_upFileCrewEffect_rdnStatus_1")
                btnInput.Click              'chon nut thay doi
            Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop

            Set btnInput = ieDoc.all.Item(u & "4_upFileCrewEffect_fileUpload")
                btnInput.Click              'mo cua so chon file upload
            Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop

            Set btnInput = ieDoc.all.Item(u & "4_upFileCrewEffect_lbtnSave")
                btnInput.Click              'Nhan vao nut Upload
            Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop
        Case vbCancel
            GoTo TheEnd
    End Select
    
    '===== TAI/ UPLOAD SHIP 'S STORE =================
    oIE.Visible = False
    Select Case Application.Assistant.DoAlert("UPLOAD SHIP 'S STORE DECLARATION - " & Agency, [U70].Value, msoAlertButtonYesNoCancel, msoAlertIconInfo, msoAlertDefaultFirst, msoAlertCancelFirst, False)
        Case vbYes
            oIE.Visible = True
            Set btnInput = ieDoc.all.Item(y & "TabPanel5")
                btnInput.Click              'chuyen tab Upload Bkc
            Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop
        
            Set btnInput = ieDoc.all.Item(u & "5_upFileShipStore_rdnStatus_1")
                btnInput.Click              'chon nut thay doi
            Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop

            Set btnInput = ieDoc.all.Item(u & "5_upFileShipStore_fileUpload")
                btnInput.Click              'mo cua so Upload ban khai hang hoa
            Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop

            Set btnInput = ieDoc.all.Item(u & "5_upFileShipStore_lbtnSave")
                btnInput.Click              'Nhan vao nut Upload
            Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop
        Case vbCancel
            GoTo TheEnd
    End Select
    
    oIE.Visible = False
    Application.Visible = True
    
    Select Case Application.Assistant.DoAlert("NOTICE - " & Agency, [U71].Value, msoAlertButtonOK, msoAlertIconInfo, msoAlertDefaultFirst, msoAlertCancelFirst, False)
    End Select
    
'***** NEU TAU CHUA CO TRONG HE THONG => TAO TAU MOI *****
Else
    Application.Visible = False
    sURL = "https://e-manifest.customs.gov.vn/profile/ship/add.aspx"
    oIE.Navigate sURL
    oIE.Visible = False
    Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop
    Select Case Application.Assistant.DoAlert("CREAT NEW VESSEL - " & Agency, [U72].Value, msoAlertButtonYesNoCancel, msoAlertIconInfo, msoAlertDefaultFirst, msoAlertCancelFirst, False)
        Case vbYes              'Tao tau tu dong tren web
            For k = 1 To 15
                Select Case k
                    Case 1:   j = v & "txtName":              m = "VESSEL 'S NAME?":                      n = "NHAP TEN TAU":                  s = Trim([D6]):         t = 2
                    Case 2:   j = v & "txtIMO":               m = "IMO NUMBER?":                          n = sMv & "IMO NUMBER":              s = "[IMO No.]":        t = 1
                    Case 3:   j = v & "txtCall":              m = "CALL SIGN?":                           n = sMv & "HO HIEU":                 s = "[Call sign]":      t = 2
                    Case 4:   j = v & "txtRegisterNumber":    m = "REGISTED NUMBER?":                     n = sMv & "SO DANG KY":              s = "[Register No.]":   t = 2
                    Case 5:   j = v & "txtFishing":           m = "REGISTED NUMBER (fishing boat)?":      n = sMv & "SO DANG KY TAU CA":       s = s:                  t = 2
                    Case 6:   j = v & "txtDate":              m = "DATE OF REGISTRATION (DD/MM/YYYY)?":   n = sMv & "REGISTED DATE":           s = "DD/MM/YYYY":       t = 2
                    Case 7:   j = v & "txtNetTonnage":        m = "NET TONNAGE?":                         n = sMv & "TRONG TAI THUAN":         s = "[NRT]":            t = 1
                    Case 8:   j = v & "txtNet":               m = "NRT (fishing boat)?":                  n = sMv & "TRONG TAI THUAN TAU CA":  s = s:                  t = 1
                    Case 9:   j = v & "txtGross":             m = "GROSS TONNAGE?":                       n = sMv & "TONG DUNG TICH":          s = "[GRT]":            t = 1
                    Case 10:  j = v & "txtGrossTonnage":      m = "GRT (fishing boat)":                   n = sMv & "TONG DUNG TICH TAU CA":   s = s:                  t = 1
                    Case 11:  j = v & "txtWeightTonnage":     m = "DEAD WEIGHT?":                         n = sMv & "TRONG TAI":               s = "[DWT]":            t = 1
                    Case 12:  j = v & "txtLOA":               m = "LOA?":                                 n = sMv & "CHIEU DAI LON NHAT":      s = "[LOA]":            t = 1
                    Case 13:  j = v & "txtBreadth":           m = "BREATH?":                              n = sMv & "CHIEU RONG":              s = "[Chieu rong]":     t = 1
                    Case 14:  j = v & "txtSailingSpeed":      m = "VESSEL 'S SPEED?":                     n = sMv & "TOC DO":                  s = 12:                 t = 2
                    Case 15:  j = v & "txtRemarks":           m = "REMARKS":                              n = sMv & "GHI CHU":                 s = "":                 t = 2
                End Select
            
                Set UserN = ieDoc.getElementsByName(j)
                    If Not UserN Is Nothing Then
                        UserN(0).Value = UCase(Application.InputBox(m, n, s, , , , , t))
                        If k = 1 Then sMv = "MV. " & UserN(0).Value & " - "
                        If k = 4 Or k = 7 Or k = 9 Then
                            s = UserN(0).Value
                        End If
                    End If
            Next k
                        
                Set UserN = ieDoc.getElementsByName(v & "ddlProcessType")
                    If Not UserN Is Nothing Then
                        UserN(0).Value = 9  '9 = Registration ; 5 = Correction ; 1 = Cancellation
                    End If
                
                Set UserN = ieDoc.getElementsByName(v & "ddDanhSachHangTau")
                    If Not UserN Is Nothing Then
                        UserN(0).Value = 217  '217 = CTY CP DLHH VINACOMIN
                    End If
              
                Set ElementCol = ieDoc.getElementsByTagName("input")
                    For Each btnInput In ElementCol
                        If btnInput.ID = x & "_chkSubmitTo_0" Or btnInput.ID = x & "_chkSubmitTo_1" Or btnInput.ID = x & "_chkSubmitTo_2" Then
                            btnInput.Click
                        End If
                    Next
          
            oIE.Visible = True
            Application.Visible = True
              
            Do While oIE.LocationURL = sURL
                Select Case Application.Assistant.DoAlert("CREAT NEW VESSEL - " & Agency, [U73].Value, msoAlertButtonOKCancel, msoAlertIconInfo, msoAlertDefaultFirst, msoAlertCancelFirst, False)
                    Case vbOK
                        Set btnInput = ieDoc.all.Item(x & "_lblAdd")
                            btnInput.Click              'Nhan vao nut Tai len
                        oIE.Visible = True
                        Do While oIE.Busy Or oIE.ReadyState <> 4: DoEvents: Loop
                    Case vbCancel
                        GoTo TheEnd
                End Select
            Loop
              
            GoTo ReDo       'Luu tau moi va quay lai tao ho so E-Manifest
        Case vbCancel
            Kill_IE_Process
        End Select      'Ket thuc truong hop tao tau moi
End If

TheEnd:
  oIE.Visible = True
  Set oIE = Nothing
  Set ieDoc = Nothing
  Set UserN = Nothing
  Set PW = Nothing
  Set btnInput = Nothing
  Set ElementCol = Nothing

Application.Visible = True
Application.ScreenUpdating = True

End Sub
 

File đính kèm

Upvote 0
Cám ơn bạn!

Theo hình thì chương trình xuất nhập khẩu chỉ để quản lý dữ liệu xuất nhập trên excel đúng không ạ?
Mình muốn tìn hiểu 1 chương trình nói nôm na là đồng bộ dữ liệu người dùng khai báo (có thể trên excel) với dữ liệu trên web (lấy dữ liệu từ web về, tải dữ liệu lên). Dùng control webbrowser của VBA thì thấy là yếu và chậm.

Ngôn ngữ lập trình nào phù hợp nhất với việc thao tác, lấy dữ liệu, đồng bộ dữ liệu với web vậy các bạn?

Việc truy xuất dữ liệu vào Web là không thể nếu người lập trình không có tài khoản có quyền truy vấn CSDL. Nếu có làm thì cùng lắm là lấy được dữ liệu tĩnh trên web dựa vào tag <tb> (hoặc có thể cái khác).
Nguyễn lý của web là: TRUY VẤN CSDL -> RECORDSER -> HTML để hiển thị phía client (trình duyệt) cho người sử dụng.
Từ Web - LẤY THÔNG TIN TRÊN CÁC MỤC NHẬP -> CSDL.
Tất cả các việc liên quan đến CSDL trên đều là người lập trình web có tài khoản để Connection tới CSDL (MySQL, SQL Server,...).
Như vậy mấu chốt là làm sao để có thông tin kết nối và CSDL chứ không phải lấy dữ liệu từ web rồi đẩy vào web. Web chỉ như một bản report hiển thị những gì trong CSDL có mà thôi.

Ngôn ngữ lập trình nào nếu có thông tin kết nối nối vào CSDL đều làm được hết không cứ phải C#, Delphi,.VB, VBA....
(Nếu ai đã có thông tin truy xuất CSDL share lên đây đồng nghĩa là CSDL dùng cho website trên đã bị hack!).
 
Upvote 0
Chả có cách nào dung VBA khả thi đâu, cái này điều khiển Internet Explorer để đăng nhập và upload file làm tồi hồi còn e-manifest : https://e-manifest.customs.gov.vn

Mình thấy Bạn đang điều khiển IE bằng code VBA đấy chứ, sao lại nói là chả có cách nào dùng VBA :) --=0
Mình còn nghe nói diễn đàn này có 1 số bạn nào đó không điều khiển trình duyệt nào mà vẫn tự động đăng nhập, tự động Upload File, tự động gửi bài viết (gọi tắt là tự động trả lời) lên diễn đàn GPE đấy. !$@!!!$@!!
 
Upvote 0
Mình thấy Bạn đang điều khiển IE bằng code VBA đấy chứ, sao lại nói là chả có cách nào dùng VBA :) --=0
Mình còn nghe nói diễn đàn này có 1 số bạn nào đó không điều khiển trình duyệt nào mà vẫn tự động đăng nhập, tự động Upload File, tự động gửi bài viết (gọi tắt là tự động trả lời) lên diễn đàn GPE đấy. !$@!!!$@!!
Mình nói dùng VBA không khả thi ý là ko nhanh/ không phù hợp. Thà khai báo bằng tay còn hơn. Chứ VBA khả năng khó thực hiện được như phần mềm khai báo hải quan (truy cập CSDL, load CSDL, thay đổi CSDL, cập nhật CSDL ...) trên phần mềm VBA. Quá khó :(:(:(
 
Upvote 0
Đúng là mình muốn tìm hiểu cách làm được phần mềm có chức năng như trên.
Đang thất nghiệp nên bài 2 đưa lên chơi cho vui thôi.
Còn cái vụ bạn nêu bài 1, thì nên bám và liên hệ với Nguyễn Duy Tuân (Hà Nội), đã có ý kiến ở bài 5 để được tư vấn.
 
Lần chỉnh sửa cuối:
Upvote 0
Đang thất nghiệp nên bài 2 đưa lên chơi cho vui thôi.
Còn cái vụ bạn nêu bài 1, thì nên bám và liên hệ với Nguyễn Duy Tuân (Hà Nội), đã có ý kiến ở bài 5 để được tư vấn.

Em đang muốn lao động là bác tạo điều kiện ngay á. Cảm ơn Bác! :D:D:D
 
Upvote 0
Em đang muốn lao động là bác tạo điều kiện ngay á. Cảm ơn Bác! :D:D:D
Vui lòng cho mình 1 số ví dụ hoặc phần mềm giao tiếp với web (truy cập CSDL, tải CSDL, thay đổi CSDL, cập nhật CSDL ...) mà không phải là dùng VBA điều khiển Internet Explorer. Xin cám ơn!
 
Upvote 0
Vui lòng cho mình 1 số ví dụ hoặc phần mềm giao tiếp với web (truy cập CSDL, tải CSDL, thay đổi CSDL, cập nhật CSDL ...) mà không phải là dùng VBA điều khiển Internet Explorer. Xin cám ơn!
Sao bạn không gọi trực tiếp anh ấy cho nhanh.Tiện thể có thể hỏi han thêm thông tin khác.

http://www.bluesofts.net/index.php?option=com_phocamaps&view=map&id=1&Itemid=64
 
Upvote 0
Vui lòng cho mình 1 số ví dụ hoặc phần mềm giao tiếp với web (truy cập CSDL, tải CSDL, thay đổi CSDL, cập nhật CSDL ...) mà không phải là dùng VBA điều khiển Internet Explorer. Xin cám ơn!

Như mình đã nói bài trên. Dữ liệu biến đổi trên web hoàn toàn lấy từ CSDL. Vậy bạn dùng bất kể ngôn ngữ gì để có thể INSERT, UPDATE, DELETE, SELECT vào CSDL là xong. Khi bạn thay đổi dữ liệu rồi thì web nó cứ hiển thị đúng như trong CSDL thôi. Mỗi trang web có một cấu trúc CSDL khác nhau (theo tính chất nghiệp vụ của công ty), loại CSDL cũng có thể khác nhau ( phổ biến hiện nay là SQL Server, MySQL). Mình chỉ bày hướng cho bạn làm thôi chứ để làm một ví dụ hơi mất nhiều thời gian vì mình không chuyên về web.
Bạn sẽ rất rất khó để có tài khoản kết nối vào một CSDL của một công ty nào đó vì đó là bảo mật dữ liệu của họ, trừ phi họ công bố. Vậy nên chỉ học để hiểu bản chất, khi cần thì truy xuất vào web của riêng mình thì được.
 
Upvote 0
Như mình đã nói bài trên. Dữ liệu biến đổi trên web hoàn toàn lấy từ CSDL. Vậy bạn dùng bất kể ngôn ngữ gì để có thể INSERT, UPDATE, DELETE, SELECT vào CSDL là xong. Khi bạn thay đổi dữ liệu rồi thì web nó cứ hiển thị đúng như trong CSDL thôi. Mỗi trang web có một cấu trúc CSDL khác nhau (theo tính chất nghiệp vụ của công ty), loại CSDL cũng có thể khác nhau ( phổ biến hiện nay là SQL Server, MySQL). Mình chỉ bày hướng cho bạn làm thôi chứ để làm một ví dụ hơi mất nhiều thời gian vì mình không chuyên về web.
Bạn sẽ rất rất khó để có tài khoản kết nối vào một CSDL của một công ty nào đó vì đó là bảo mật dữ liệu của họ, trừ phi họ công bố. Vậy nên chỉ học để hiểu bản chất, khi cần thì truy xuất vào web của riêng mình thì được.

sau khi hiểu bản chất mà anh nói rồi nhưng không có tài khoản kết nối vào CSDL của trang Web thì sao anh ? bó tay chịu trói chăng ? +-+-+-++-+-+-+
 
Upvote 0
sau khi hiểu bản chất mà anh nói rồi nhưng không có tài khoản kết nối vào CSDL của trang Web thì sao anh ? bó tay chịu trói chăng ? +-+-+-++-+-+-+

Không quan trọng là có web hay không có. Như mình đã nói mạch máu của web là CSDL. Bạn học tốt về kết nối và truy xuất CSDL là ok, còn khi bạn biết CSDL nào đó của pm nào, của web nào thì chỉ cần kết nối đến CSDL , INSERT, UPDATE đúng table là xong thôi.

Bạn có thể dùng ADO để học việc này. Tuy nhiên hãy học theo các bước:

1. Học cách cài và quản trị một loại CSDL Client-Server: MySQL, SQL Server. Bạn học MySQL vì nó phổ biến cho nhiều website hiện nay, đặc biệt các web viết bằng PHP.
2. Học các câu lệnh SELECT, INERT, UPDATE, DELETE tới CSDL MySQL..

3. Dùng ADO kết nối và làm việc với CSDL MySQL.

Mỗi bước trên bạn tìm Google ra hết nhé!
 
Upvote 0
Híc. Anh ơi, "Cô Rô bốt" xinh đẹp ở trên đã qua mấy bước anh hướng dẫn lâu rồi. -\\/.-\\/.

Bạn có từng đồng hành với người ta hôn mà dám nói vậy?
Cái cô này đâu có hề qua bước nào. Ả ta tự động thấy ở đích. Mình bò mệt phở hơi tai mà ngẫng đầu lên vẫn thấy ả ta dẫn trước mặt.
 
Upvote 0
Híc. Anh ơi, "Cô Rô bốt" xinh đẹp ở trên đã qua mấy bước anh hướng dẫn lâu rồi. -\\/.-\\/.

Thế thì chờ có tài khoản kết nối csdl thôi :). Thường khi viết ứng dụng khai thác data dùng chung thì cty họ sẽ cấp cho một tài khoản đẻ ghi nhận thông tin mà không làm nguy hiểm tới hệ thống. Nếu lấy được thông tin trong csdl dễ dàng thì danh sách tài khoản của các diễn đàn vào tay mình hết :)
 
Upvote 0
Chào mọi người!

Nếu VBA không thể làm được vui lòng cho biết ngôn ngữ lập trình nào ổn/ học và áp dụng nhanh & có thể xử lý được yêu cầu, mình không ngại mất thời gian để tìm hiểu và làm vì mình sống cả đời với bạn https://vnsw.gov.vn này.

Mong mọi người cho lời khuyên/ hướng đi hợp lý.

Chân thành cám ơn!
Cái vụ này theo mình nghĩ bạn rành về cái nào thì đi theo cái đó Visua Studio, delphi, java.., (mà còn cái vụ viết xong rồi chạy được đa nền tảng nữa)
 
Upvote 0
chắc bác chủ thớt muốn có 1 chương trình control được data trên server mà ko phải hiện trình duyệt lên thì phải ^^

thử hình dung khi dữ liệu trên server đến đc máy của bác thì nó qua những bước nào , đầu tiên web browser sẽ gửi 1 gói tin đến web server , web server sẽ nhận gói tin và chương trình của web server sẽ phân tích xử lý , web server sẽ kết nối với data server để lấy dữ liệu và trả về cho web browser ,

mô hình hiện tại của bác nó như vầy
Data server <---> web server <---> web browser <----> excel

giờ theo mong muốn của bác nó sẽ như vầy , trực tiếp kết nối đến web server luôn , sẽ giảm đc thời gian xử lý của browser , dữ liệu chạy trực tiếp về máy con , nhìn rất chuyên nghiệp ^^
Data server <---> web server <----> excel

làm đc cái này nếu ko phải dân chuyên nghiệp thì ko làm đc đâu , nhất là ko dùng các dịch vụ có sẵn của web browser !
vấn đề ko phải nằm ở ngôn ngữ lập trình , vì mình nghĩ ngôn ngữ nào cũng làm đc thôi , chỉ cần sử dụng được các thư viện API của windows là làm đc hết , mà nằm ở sự hiểu biết của bác về kiến trúc mạng , kiến trúc máy tính ,
đại khái là kiến trúc TCP/IP và các lớp ứng dụng phía trên (như HTTP cho web , hoặc Ftp cho file chẳng hạn ) ,
khi 2 máy tính kết nối với nhau , và dữ liệu truyền qua lại thì nó phải gồm 2 cái địa chỉ , TCP/IP và Port của ứng dụng , như Port HTTP là 80 , port fpt là 21 chẳng hạn !
và phải có thời gian phân tích tỷ mỷ các gói tin truyền qua lại nữa !
nói chung công việc chỉ dành cho dân chuyên nghiệp thôi , ^^

còn như kiểu này thì ko đc
Data server <-----> excel
vì có thể ví Data server như 1 két sắt vậy , muốn mở đc két sắt thì phải qua cửa chính cái đã !
 
Lần chỉnh sửa cuối:
Upvote 0
chắc bác chủ thớt muốn có 1 chương trình control được data trên server mà ko phải hiện trình duyệt lên thì phải ^^

thử hình dung khi dữ liệu trên server đến đc máy của bác thì nó qua những bước nào , đầu tiên web browser sẽ gửi 1 gói tin đến web server , web server sẽ nhận gói tin và chương trình của web server sẽ phân tích xử lý , web server sẽ kết nối với data server để lấy dữ liệu và trả về cho web browser ,

mô hình hiện tại của bác nó như vầy
Data server <---> web server <---> web browser <----> excel

giờ theo mong muốn của bác nó sẽ như vầy , trực tiếp kết nối đến web server luôn , sẽ giảm đc thời gian xử lý của browser , dữ liệu chạy trực tiếp về máy con , nhìn rất chuyên nghiệp ^^
Data server <---> web server <----> excel

làm đc cái này nếu ko phải dân chuyên nghiệp thì ko làm đc đâu , nhất là ko dùng các dịch vụ có sẵn của web browser !
vấn đề ko phải nằm ở ngôn ngữ lập trình , vì mình nghĩ ngôn ngữ nào cũng làm đc thôi , chỉ cần sử dụng được các thư viện API của windows là làm đc hết , mà nằm ở sự hiểu biết của bác về kiến trúc mạng , kiến trúc máy tính ,
đại khái là kiến trúc TCP/IP và các lớp ứng dụng phía trên (như HTTP cho web , hoặc Ftp cho file chẳng hạn ) ,
khi 2 máy tính kết nối với nhau , và dữ liệu truyền qua lại thì nó phải gồm 2 cái địa chỉ , TCP/IP và Port của ứng dụng , như Port HTTP là 80 , port fpt là 21 chẳng hạn !
và phải có thời gian phân tích tỷ mỷ các gói tin truyền qua lại nữa !
nói chung công việc chỉ dành cho dân chuyên nghiệp thôi , ^^

còn như kiểu này thì ko đc
Data server <-----> excel
vì có thể ví Data server như 1 két sắt vậy , muốn mở đc két sắt thì phải qua cửa chính cái đã !
Bạn nói quá đúng những gì mình mong muốn làm. Hết mơ tưởng linh tinh rồi! :( Cám ơn mọi người đã cho mình biết những thông tin hữu ích.
 
Upvote 0
Bạn nói quá đúng những gì mình mong muốn làm. Hết mơ tưởng linh tinh rồi! :( Cám ơn mọi người đã cho mình biết những thông tin hữu ích.
Sao lại từ bỏ nhanh vậy. Theo mình nghĩ máy cái này nó liên quan đến công việc hái ra tiền của các lập trình viên, nên chắc cũng ít người pos cho bạn lắm (vướng chỗ nào hỏi chỗ đó đừng có hỏi 1 cục bự kkk), nếu bạn muốn bạn có thể tìm hiểu từ từ mà, thay vì người ta viết 2 tiếng xong 1 Form còn minh viết 30 ngày cũng được có sao đâu miễn là mình đam mê, phải đi từng bước nhờ Google mà tìm kiếm, những cái gì của MicroSoft thì phần mềm lập trình của MicroSoft sẽ hỗ trợ tốt hơn. Mình nghĩ máy cái này sinh viên bên khoa công nghệ viết có mà đầy kkkk.
Thân (thấy đề tài của bạn cũng hay mình cũng muốn tìm hiểu đây)
 
Upvote 0
Sao lại từ bỏ nhanh vậy. Theo mình nghĩ máy cái này nó liên quan đến công việc hái ra tiền của các lập trình viên, nên chắc cũng ít người pos cho bạn lắm (vướng chỗ nào hỏi chỗ đó đừng có hỏi 1 cục bự kkk), nếu bạn muốn bạn có thể tìm hiểu từ từ mà, thay vì người ta viết 2 tiếng xong 1 Form còn minh viết 30 ngày cũng được có sao đâu miễn là mình đam mê, phải đi từng bước nhờ Google mà tìm kiếm, những cái gì của MicroSoft thì phần mềm lập trình của MicroSoft sẽ hỗ trợ tốt hơn. Mình nghĩ máy cái này sinh viên bên khoa công nghệ viết có mà đầy kkkk.
Thân (thấy đề tài của bạn cũng hay mình cũng muốn tìm hiểu đây)

Cái này chưa hẳn đúng. Nó chỉ là hỏi ở đây không đúng chỗ thôi. Đi qua mấy diễn đàn chuyên về mạng mà hỏi có thể sẽ có kết quả.

Bởi vậy cho nên nếu chủ thớt muốn "gắn bó với cái này cả đời" thì đừng thèm chơi với Windows nữa. Nên đi qua bên Unix/Linux, bên đó các dân chơi lập trình mạng chiến hơn, và nhiều mã nguồn mở hơn.

POS theo tôi hiểu là Point of Sale? Quầy bán hàng?
 
Upvote 0
Bạn nói quá đúng những gì mình mong muốn làm. Hết mơ tưởng linh tinh rồi! :( Cám ơn mọi người đã cho mình biết những thông tin hữu ích.

chắc cũng ko khó đến thế đâu , dạo 1 vòng google với từ khóa " control http with vb6 " hoặc " control http with vba " ra nhiều bài viết lắm , chỉ vài dòng code là lấy đc nội dung thô của web về , mình cảm thấy các thư viện của VBA hỗ trợ được cho giao thức HTTP đó !

có lẽ bạn nên bắt đầu với câu hỏi web browser sẽ làm gì khi bạn nhấn vào 1 nút hoặc 1 link nào đó !

đại khái nó sẽ dựa vào chuỗi địa chỉ URL bên dưới để cho biết web server phải làm gì , mình sẽ bắt đầu với việc phân tích thành phần của chuỗi URL !
http://www.giaiphapexcel.com/forum/showthread.php?t=480

như đường link cũ của diễn đàn ta có thể biết đc 1 số thông tin sơ bộ , trang web đc thiết kế bằng php , các tham số sau dấu ? là tham số truyền vào , mình có thể đoán đc tham số t=480 là show ra nội dung của chủ đề 480 chẳng hạn
web server sẽ xử lý và trả về cho bạn , nhưng với đường link thế này thì dễ bị hack hơn 1 trong các kỹ thuật gọi là sql injection thì phải , giờ link của diễn đàn qua 1 bộ lọc thì khó mà biết đc !
http://www.giaiphapexcel.com/forum/showthread.php?t='select * from abc'

nói chung nghiên cứu thì khả thi , mình đề xuất hãy bắt đầu với việc nghiên cứu các loại địa chỉ URL , sau đấy hãy google 1 tool nào đấy để gửi nhận thông tin ^^
 
Upvote 0
Đọc thông tin từ web không khó nhưng lấy và ghi thông tin CSDL của web (khi không được cung cấp thông tin để kết nối) là rất khó (đối với mình), nếu ai làm được việc này mình nghĩ hacker có tầm cỡ.
 
Upvote 0
Đọc thông tin từ web không khó nhưng lấy và ghi thông tin CSDL của web (khi không được cung cấp thông tin để kết nối) là rất khó (đối với mình), nếu ai làm được việc này mình nghĩ hacker có tầm cỡ.
Cái này em nghĩ chủ toppic chỉ muốn đăng nhập vào wed để lấy và ghi CSDL mà trang đó bạn đã có Username và Pass chứ không phải Hack.
Ví dụ
em có tài khoản trên Giaiphapexcel bây giờ em muốn thông qua VBA đăng nhập bằng tài khoản của mình và vô hộp thư gởi tin nhắn đến anh Nguyễn Duy Tuân và khi anh trả lời thì sẽ lấy thông tin trả lời của anh về máy
 
Upvote 0
Cái này em nghĩ chủ toppic chỉ muốn đăng nhập vào wed để lấy và ghi CSDL mà trang đó bạn đã có Username và Pass chứ không phải Hack.
Ví dụ
em có tài khoản trên Giaiphapexcel bây giờ em muốn thông qua VBA đăng nhập bằng tài khoản của mình và vô hộp thư gởi tin nhắn đến anh Nguyễn Duy Tuân và khi anh trả lời thì sẽ lấy thông tin trả lời của anh về máy


vụ đăng nhập với tài khoản hình như cũng có nhiều chủ đề thảo luận rồi nè ^^

http://www.giaiphapexcel.com/diendan/threads/tự-động-đăng-nhập-vào-trang-web-dùng-id-và-pass-help.66825/

http://www.giaiphapexcel.com/diendan/threads/hỗ-trợ-sửa-file-macro.124585/
 
Upvote 0
Nếu chỉ dùng Internet Explorer (IE) để điều khiển web, đăng nhập, thực hiện 1 số thao tác thì Bài #4 của topic này hoàn toàn đáp ứng được.
Mình muốn tư vấn để làm 1 chương trình VBA, sử dụng các control của VBA để tải dữ liệu (sau khi đăng nhập) trên chương trình VBA đó. Sau đó có thể thêm xóa sửa trên VBA và đồng bộ lên web (nhận thông báo trên VBA) mà ko phải dùng cách điều khiển IE, hoặc có thể là điều khiển IE nhưng ẩn đi (không khả quan vì tốc độ chậm). Các bạn xem Video Youtube ở link bài 1 sẽ thấy cách họ làm. Xin cám ơn.
 
Upvote 0
à muốn nó ẩn đi thì tìm dòng này

apiShowWindow .hwnd, SW_MAXIMIZE

sửa thành vầy
apiShowWindow .hwnd, 0

tham số =0 là ẩn , mới google ^^

tìm các dòng này
oIE.Visible = True

sửa thành
oIE.Visible = False
là nó ẩn trình duyệt IE đi !
 
Upvote 0
à muốn nó ẩn đi thì tìm dòng này

apiShowWindow .hwnd, SW_MAXIMIZE

sửa thành vầy
apiShowWindow .hwnd, 0

tham số =0 là ẩn , mới google ^^

tìm các dòng này
oIE.Visible = True

sửa thành
oIE.Visible = False
là nó ẩn trình duyệt IE đi !
Cái này thì mình biết rồi. nhưng thực sự không muốn làm việc kiểu điều khiển IE (tốc độ chậm, lỗi phát là đi tong...). Và nếu ẩn IE thì vẫn phải có cái để hiển thị thông tin và tiếp tục thao tác chứ (trên giao diện phần mềm VBA). Mình nói thế là rõ nghĩa đúng không? Nói chung là việc này không dành cho tay mơ. Thực sự là không ngại khó, dám đầu tư thời gian để học, tìm hiểu (có thể 1 vài năm) nhưng chưa biết bắt đầu từ đâu để làm được 1 phần mềm đồng bộ như vậy :(:(:(
 
Upvote 0
Cái này thì mình biết rồi. nhưng thực sự không muốn làm việc kiểu điều khiển IE (tốc độ chậm, lỗi phát là đi tong...). Và nếu ẩn IE thì vẫn phải có cái để hiển thị thông tin và tiếp tục thao tác chứ (trên giao diện phần mềm VBA). Mình nói thế là rõ nghĩa đúng không? Nói chung là việc này không dành cho tay mơ. Thực sự là không ngại khó, dám đầu tư thời gian để học, tìm hiểu (có thể 1 vài năm) nhưng chưa biết bắt đầu từ đâu để làm được 1 phần mềm đồng bộ như vậy :(:(:(
Bạn suy nghĩ lòng vòng thì khi nào mới tìm được được đường lối đúng đắn.

Tại bài #27 anh Tuân đã nói đúng ý của bạn rồi còn gì.

Bạn muốn trực tiếp thâm nhập vào hệ thống của người ta thì xin phép người ta quyền login vào hệ thống CSDL của họ, họ không cho phép thì thôi, không có giải pháp. Phạm pháp là hack vào CSDL, khi bị phát hiện ra thì lúc đó cứ chuẩn bị tinh thần.

Còn dùng IE hay cái gì gì nữa để làm thay thao tác trên Web của họ thì cũng như nhau cả, công cụ đó chỉ là làm thay thao tác con người click chuột, nhập bàn phím...

Như vậy có cách cách cho bạn rồi, bạn khỏi phải lăn tăn làm gì.
 
Upvote 0
Chào mọi người!

Mình muốn hỏi VBA/ VB có đủ các công cụ cần thiết để làm được 1 phần mềm khai báo Hải Quan không (https://vnsw.gov.vn).
Giống như cách mà chương trình ECUS - VNACCS khai báo Hải Quan điện tử ấy.

* Hoặc như phần mềm đồng bộ dữ liệu khai báo này:
https://www.youtube.com/playlist?list=PLUSBtpiJVLjJzOdnZmYhL3WZ0tOKjFaCs
trước thấy họ làm hay quá mà liên lạc 2B System Co., LTD không trả lời, giờ chả tìm thấy ở đâu nữa.

Nếu VBA không thể làm được vui lòng cho biết ngôn ngữ lập trình nào ổn/ học và áp dụng nhanh & có thể xử lý được yêu cầu, mình không ngại mất thời gian để tìm hiểu và làm vì mình sống cả đời với bạn https://vnsw.gov.vn này.

Mong mọi người cho lời khuyên/ hướng đi hợp lý.

Chân thành cám ơn!
Theo tôi đoán thì công cụ họ viết phần mềm này là VB.Net. Nếu muốn làm được như vậy thì yêu cầu là bạn phải biết lập trình trên ngôn ngữ này. Mà nếu biết được lập trình trên ngôn ngữ này thì cũng chưa chắc làm được, bởi vì cấu trúc CSDL của nó bạn phải nắm, mà muốn nắm thì bạn phải được phân quyền hẳn hoi. Còn nếu như chưa được phân quyền để làm điều đó thì tôi khuyên bạn là không nên đi theo hướng như trên chi cho tốn thời gian. Người ta cung cấp sao thì làm vậy, có dỡ hay hay thì cũng phải ráng dùng.
 
Upvote 0
Bạn suy nghĩ lòng vòng thì khi nào mới tìm được được đường lối đúng đắn.

Tại bài #27 anh Tuân đã nói đúng ý của bạn rồi còn gì.

Bạn muốn trực tiếp thâm nhập vào hệ thống của người ta thì xin phép người ta quyền login vào hệ thống CSDL của họ, họ không cho phép thì thôi, không có giải pháp. Phạm pháp là hack vào CSDL, khi bị phát hiện ra thì lúc đó cứ chuẩn bị tinh thần.

Còn dùng IE hay cái gì gì nữa để làm thay thao tác trên Web của họ thì cũng như nhau cả, công cụ đó chỉ là làm thay thao tác con người click chuột, nhập bàn phím...

Như vậy có cách cách cho bạn rồi, bạn khỏi phải lăn tăn làm gì.
Chào bạn. Mình không thâm nhập và không có ý định thâm nhập gì cả.
VD như thế này:
1) Mình là thành viên có thể đăng nhập vào trang: giaiphapexcel.com
2) mình đăng nhập trên Phần mềm (giả sử viết được)
3) Phần mềm tải về những topic của diễn đàn. Mình có thể chọn để đọc, trả lời, thêm sửa xóa ... nói chung la thao tác gần giống như trên web nhưng nó sẽ trực quan hơn, tiện hơn ... và những gì làm trên phần mềm nó cũng cập nhật như làm trên web vậy, cũng giống kiểu như phần mềm email client vậy.

Theo tôi đoán thì công cụ họ viết phần mềm này là VB.Net. Nếu muốn làm được như vậy thì yêu cầu là bạn phải biết lập trình trên ngôn ngữ này. Mà nếu biết được lập trình trên ngôn ngữ này thì cũng chưa chắc làm được, bởi vì cấu trúc CSDL của nó bạn phải nắm, mà muốn nắm thì bạn phải được phân quyền hẳn hoi. Còn nếu như chưa được phân quyền để làm điều đó thì tôi khuyên bạn là không nên đi theo hướng như trên chi cho tốn thời gian. Người ta cung cấp sao thì làm vậy, có dỡ hay hay thì cũng phải ráng dùng.

Cám ơn bạn. Để tìm hiểu thêm.
 
Upvote 0
Chào bạn. Mình không thâm nhập và không có ý định thâm nhập gì cả.
VD như thế này:
1) Mình là thành viên có thể đăng nhập vào trang: giaiphapexcel.com
2) mình đăng nhập trên Phần mềm (giả sử viết được)
3) Phần mềm tải về những topic của diễn đàn. Mình có thể chọn để đọc, trả lời, thêm sửa xóa ... nói chung la thao tác gần giống như trên web nhưng nó sẽ trực quan hơn, tiện hơn ... và những gì làm trên phần mềm nó cũng cập nhật như làm trên web vậy, cũng giống kiểu như phần mềm email client vậy.



Cám ơn bạn. Để tìm hiểu thêm.

Thực sự những gì tôi phân tích cho bạn như không thấm gì :)
 
Upvote 0
Tại bài #27 anh Tuân đã nói đúng ý của bạn rồi còn gì.

Bạn muốn trực tiếp thâm nhập vào hệ thống của người ta thì xin phép người ta quyền login vào hệ thống CSDL của họ, họ không cho phép thì thôi, không có giải pháp. Phạm pháp là hack vào CSDL, khi bị phát hiện ra thì lúc đó cứ chuẩn bị tinh thần.
Ý người ta có lẽ không phải như ý Tuân đâu.

Có nhiều trang web chia sẻ dữ liệu. Tất nhiên không chủ nào lại cho người lạ truy cập trực tiếp vào csdl của mình. Người dùng thông qua giao diện trang web để đăng nhập (nếu bắt buộc), và nhập vài thông số để xin dữ liệu. Kiểu như đặt đơn ấy. Lúc đó server sẽ tự lấy dữ liệu mà nó chia sẻ để "dâng" cho người dùng. Vd. như Google Translator, Google Maps. Ngoài ra chủ csdl còn có thể cung cấp API (vd. Goole Maps). Lúc đó ngoài việc thông qua giao diện trang web người dùng có thể dùng API để lấy dữ liệu do server "dâng" cho.

Tôi cho vd. cụ thể. Bạn muốn dịch thì bạn mở trang web của Google rồi nhập từ cần dịch. Nhưng trên GPE có code lấy bản dịch của Goole về. Làm gì có hack ở đây? Code gửi request và server tự lấy dữ liệu mà nó chia sẻ cho toàn thế giới để dâng cho bạn. Thế thôi. Ở đây cũng tương tự. Thay cho làm việc với trang web thì người ta muốn gửi request để xin server thôi. Không có chuyện truy cập trực tiếp vào csdl của server.

Một vd. khác là các bài về "Tải bảng tỷ gia" có đầy trên GPE.

Tóm lại người ta không muốn mở trình duyệt bằng tay, nhập địa chỉ trang web bằng tay rồi copy bằng tay và paste bằng tay về máy. Người ta muốn dùng code. Nhưng không muốn dùng IExplorer vì nó hơi "quê"

Có thể đăng nhập với tên tài khoản và mật khẩu dùng vd.WinHttp.WinHttpRequest, dùng phương thức vd. POST, và cung cấp tài khoản và mật khẩu. Nhiều khi thì tài khoản cung cấp bình thường nhưng phải cung cấp mật khẩu đã mã hóa. Tùy theo từng trang của nhiều người.
---------------
Chủ chủ đề muốn "nộp đơn" để xin dữ liệu, và server sẽ tự lấy dữ liệu mà nó chia sẻ để "dâng" cho người dùng. Không có chuyện hack gì ở đây. Chỉ có điều chủ chủ đề không muốn đăng nhập và lấy dữ liệu thông qua trang web trên trình duyệt. Người ta muốn dùng vd.WinHttp.WinHttpRequest như tôi nói.

Chỉ có điều muốn làm được phải có kinh nghiệm, biết đọc và phân tích code của trang web, code của các script, nhiều khi người ta "giấu kỹ" lắm, thậm chí có thể có nhiều chỗ mã hóa. Nhiều khi ngoài tài khoản và mật khẩu còn phải gửi đi cookie mà trước đó server trả về khi code yêu cẩu. Tất nhiên nếu chủ csdl cung cấp API (Google Maps) thì dễ rồi. Cứ dùng API mà chơi thôi.
Nghiên cứu những cái này rất mất thời gian nên nhiều người không thể giúp. Ngoài ra còn có thể vấn đề quan trọng không, có cực khó không. Vì nhiều người kiếm cơm bằng cách cung cấp code.
Có trang web cho phép truy cập và kiểm tra Mã số thuế của Bộ tài chính Ba Lan. Và tôi đã từng thấy có công ty cung cấp phương thức truy cập nhưng mỗi tháng phải trả 30 đô la. Như vậy họ kiếm cơm, và gặp họ thì họ biết làm nhưng không giúp miễn phí.

Tóm lại là tôi nghĩ không có ai đó bỏ công làm tất cả các việc mà bạn muốn đâu. Mà hướng dẫn thì đâu có phải vài dòng. Tùy thuộc trang web mà có thể phải xoay xở chóng mặt đấy. Vì thế có lẽ cũng chả ai mở một khóa học miễn phí đâu.
 
Lần chỉnh sửa cuối:
Upvote 0
bác phương ngâm cứu bài này thử nha , sử dụng Windows Sockets API , này chắc là cấp thấp nhất rồi đó , hồi đi học cũng dùng thư viện winsock này làm 1 số bài tập client server
bài viết nó mô tả 1 số lý thuyết về winsock , cách kết nối HTTP kèm source code trên VB6
nhưng sửa cho chạy đc chắc cũng mất thời gian nhiều đó ^^
http://www.codeguru.com/vb/vb_inter.../Creating-a-TCP-Component-in-Visual-Basic.htm
chúc may mắn !

---------------------------------------------------- new comment
sau 1 hồi google tích cực , miềng đã tìm đc đoạn code lấy đc dữ liệu thô của trang web về , miềng post lên cho bác nào cần !
cách làm là dùng winsock , gửi 1 chuỗi yêu cầu lên server và nhận các gói tin về

chuỗi cần gửi đc gọi là HTTP HEARDER , tham số sẽ cho biết cần tải gì về , như hình ảnh , text , flash ..vv.. , trong file mình chỉ tải text thôi
mình tải trang web tuoitre.vn về , nhưng chỉ lấy 100 gói tin thôi , mỗi gói tin dài 1024 byte , và lưu vào c:\text.txt , chỉ cần đổi đuôi thành text.html rồi mở =web là thấy đc nội dung ^^
thank các bác đã hướng dẫn !^^
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
E chào các anh. Chủ để này e muốn hỏi 1 chút ạ. E ko có chuyên môn về lập trình lắm chỉ biết một vài câu lệnh VBA để làm việc. Hiện e có tiếp xúc với người nước ngoài. Họ bán phần mềm thiết kế chạy trực tiếp trên Web và lưu toàn bộ dữ liệu tại máy chủ của họ mình tính toán xong chỉ down về file kết quả PDF. Bên công ty e mua license hàng năm để trả phí cho họ trong khi đó với excel và VBA hoàn toàn có thể làm được những điều họ đang làm nhưng ko thể phân phối đa quốc gia hay sử dụng toàn cầu như cách làm của họ được. Em muốn hỏi các a xem có cách nào mà kết nối excel lên web, tính toán theo mô hình web <=> excel ko ạ. Bên nước ngoài có 1 dịch vụ họ làm được điều này e gửi link bên dưới, Vietnam mình ai làm được cho e xin thông tin để bên e liên hệ hợp tác ạ. Em cám ơn các anh.!
Liên kết: https://www.youtube.com/watch?v=JslaOmB-7Ls
 
Upvote 0
E chào các anh. Chủ để này e muốn hỏi 1 chút ạ. E ko có chuyên môn về lập trình lắm chỉ biết một vài câu lệnh VBA để làm việc. Hiện e có tiếp xúc với người nước ngoài. Họ bán phần mềm thiết kế chạy trực tiếp trên Web và lưu toàn bộ dữ liệu tại máy chủ của họ mình tính toán xong chỉ down về file kết quả PDF. Bên công ty e mua license hàng năm để trả phí cho họ trong khi đó với excel và VBA hoàn toàn có thể làm được những điều họ đang làm nhưng ko thể phân phối đa quốc gia hay sử dụng toàn cầu như cách làm của họ được. Em muốn hỏi các a xem có cách nào mà kết nối excel lên web, tính toán theo mô hình web <=> excel ko ạ. Bên nước ngoài có 1 dịch vụ họ làm được điều này e gửi link bên dưới, Vietnam mình ai làm được cho e xin thông tin để bên e liên hệ hợp tác ạ. Em cám ơn các anh.!
Liên kết: https://www.youtube.com/watch?v=JslaOmB-7Ls
Theo mình thấy vấn đề lưu dữ liệu tại máy chủ của họ thấy không phù hợp với tất cả các doanh nghiệp.

Còn dữ liệu online- cloud, excel liên kết web mình thấy excel 365, google sheets đều làm được.

Mình chưa hiểu mô hình web bạn nói ý là gì thôi, thấy khá giống power BI. Bạn đang cần dạng hiển thị dashboard?
 
Upvote 0
Theo mình thấy vấn đề lưu dữ liệu tại máy chủ của họ thấy không phù hợp với tất cả các doanh nghiệp.

Còn dữ liệu online- cloud, excel liên kết web mình thấy excel 365, google sheets đều làm được.

Mình chưa hiểu mô hình web bạn nói ý là gì thôi, thấy khá giống power BI. Bạn đang cần dạng hiển thị dashboard?
"Còn dữ liệu online- cloud, excel liên kết web mình thấy excel 365, google sheets đều làm được."
Thực ra giải pháp như bạn nói đều làm được nhưng họ muốn giữ công thức và thuật toán chạy tối ưu sản phẩm của họ tại máy chủ của họ, excel 365, google sheets thì ko ứng dụng được dạng Global . Và các công ty cần chỉ có thể sử dụng online và trả kết quả online qua file báo cáo dạnh PDF thôi. Họ đi các quốc gia và bán license. Nếu mua bản setup tại server của công ty thì giá cả trăm ngàn USD. A Nguyên Duy Tuân cũng có phần mềm dạng làm việc online máy chủ excel và làm việc qua Lan ( A-Tool) rất hay nhưng phân phối dạng phần mềm độc quyền thì cách làm của nước ngoài nó làm hay hơn.
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom