Hồ sơ Nghiệm thu (1 người xem)

  • Thread starter Thread starter vanle33
  • Ngày gửi Ngày gửi
Liên hệ QC

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

vanle33

Thành viên gạo cội
Tham gia
30/10/08
Bài viết
5,962
Được thích
4,009
Giới tính
Nam
Kính thưa các cao thủ trong Ban quản trị diễn đàn.
Em muốn tạo 1 BBNT có thể liên kết với các đầu việc em bôi màu xanh trong "bbnt Dot 11" . Mà khi cần ấn số 1 là ra BB có tên là "Nghiệm thu công việc Lát đá Granit Tam cấp sảnh" tương ứng với ngày Nghiệm thu công việc là "11/05/2010". Và tương tự với tất cả các đầu việc trong LIST nghiệm thu đó.
Các biên bản nghiệm thu và yêu cầu nghiệm thu ở trong file word tương ứng
Các cao thủ giúp đỡ em nhé!
 

File đính kèm

Việc đầu tiên là bạn phải hoàn thiện ít nhất 1 bộ mẫu (3 loại biên bản - file word) ứng với 1 việc nghiệm thu. Trong mỗi file word, bạn phải ghi chú rõ là dữ liệu từ Excel sẽ chèn vào đâu. (như kiểu mailmerger trong word)
Với loại in trộn như thế này thì việc đầu tiên là tạo dữ liệu data-sao cho có thế dễ dàng xác định khi cung cấp thông tin cho main-document. Sau khi bạn cung cấp đủ thông tin thì hy vọng ACE trên GPE sẽ có hướng cụ thể để giúp bạn.
 
E muốn copy 3 file word đó sang excel để có thể dễ dàng sử dụng công thức và liên kết giữa các sheet . Thì có đc ko? Và làm cách nào ah?
 
E muốn copy 3 file word đó sang excel để có thể dễ dàng sử dụng công thức và liên kết giữa các sheet . Thì có đc ko? Và làm cách nào ah?

Chỉ có cách là copy nội dung vào sheet, sau đó điều chỉnh, thay đổi định dạng (việc này khá mất công).
Nếu để word thì có thể tạo các bookmark trong word, sau đó viết macro để thay nội dung từ Excel vào.
 
Việc đầu tiên là bạn phải hoàn thiện ít nhất 1 bộ mẫu (3 loại biên bản - file word) ứng với 1 việc nghiệm thu. Trong mỗi file word, bạn phải ghi chú rõ là dữ liệu từ Excel sẽ chèn vào đâu. (như kiểu mailmerger trong word)
Với loại in trộn như thế này thì việc đầu tiên là tạo dữ liệu data-sao cho có thế dễ dàng xác định khi cung cấp thông tin cho main-document. Sau khi bạn cung cấp đủ thông tin thì hy vọng ACE trên GPE sẽ có hướng cụ thể để giúp bạn.

Em đã Chỉnh sửa lại 1 bộ BB Nghiệm thu cho công việc "Lát đá Granit Tam câp Sảnh". Trong 3 file này em đã chú thích những chỗ cần link với excel rồi đó.
Mong anh giúp e với!
 

File đính kèm

Được rồi để tôi nghiên cứu rồi sẽ trả lời nhé!
 
Được rồi để tôi nghiên cứu rồi sẽ trả lời nhé!
Tr­ước hết, tôi giới thiệu qua về cách thức thực hiện:
1. Từ 3 file văn bản word, tôi tạo thành 3 file mẫu (template - *.DOT)

2. Trong mỗi file, tại các vị trí sẽ chèn nội dung từ Excel, tôi đặt một bookmark

3. Trong file Excel, viết một macro gán qua button trên sheet biên bản để bạn chọn - trước khi thực hiện macro, đặt con trỏ tại cột A (có số hiệu bb)

4. Macro sẽ lần lượt tạo 3 file word từ 3 template, gán dữ liệu vào các vị trí macro. Tùy theo nhu cầu, bạn có thể chỉnh sửa, bổ sung các tùy chọn sau: SaveAs ra word; hoặc chỉ cần in thẳng, ko cần save...
Bạn down về và giải nén 4 file vào chung 1 thư mục để thực hiện (sau này nếu file Excel khác vị trí với file mẫu thì khai báo lại trong code)
 

File đính kèm

Tr­ước hết, tôi giới thiệu qua về cách thức thực hiện:
1. Từ 3 file văn bản word, tôi tạo thành 3 file mẫu (template - *.DOT)

2. Trong mỗi file, tại các vị trí sẽ chèn nội dung từ Excel, tôi đặt một bookmark

3. Trong file Excel, viết một macro gán qua button trên sheet biên bản để bạn chọn - trước khi thực hiện macro, đặt con trỏ tại cột A (có số hiệu bb)

4. Macro sẽ lần lượt tạo 3 file word từ 3 template, gán dữ liệu vào các vị trí macro. Tùy theo nhu cầu, bạn có thể chỉnh sửa, bổ sung các tùy chọn sau: SaveAs ra word; hoặc chỉ cần in thẳng, ko cần save...
Bạn down về và giải nén 4 file vào chung 1 thư mục để thực hiện (sau này nếu file Excel khác vị trí với file mẫu thì khai báo lại trong code)
Khi mình vào file Danh muc bbnt Dot 11 và ấn nút tạo Bien ban thi thấy có lỗi này. Mong bạn chỉnh sửa huong dẫn cho mình nhé
file đính kèm "lỗi 1)
 

File đính kèm

Bạn vào cửa sổ VBE, chọn menu Tools\References... xuất hiện hộp thoại,
kéo xuống dưới để đánh dấu chọn vào mục [x] MicroSoft Word 12 Object Libary

(để thư thả tôi sẽ chỉnh lại phần tạo giờ nghiệm thu tránh buổi trưa (vì lần trước bạn chỉ yêu cầu từ 08h:00 đến 15h:00)
 
Vâng , đúng là mình yêu cầu giờ nghiệm thu cách nhau 30 phút và trong khoảng 08h00 đến 15h00 và không có những giờ từ 12h00 đến 13h30.
Giờ nghiệm thu sẽ là 08h00 hoặc 08h30 hoặc 09h00 hoặc 09h30 ....
Thanks
 
Bạn vào cửa sổ VBE, chọn menu Tools\References... xuất hiện hộp thoại,
kéo xuống dưới để đánh dấu chọn vào mục [x] MicroSoft Word 12 Object Libary

(để thư thả tôi sẽ chỉnh lại phần tạo giờ nghiệm thu tránh buổi trưa (vì lần trước bạn chỉ yêu cầu từ 08h:00 đến 15h:00)
Mình ấn vào Tools thì thấy dòng chữ References bị đóng băng ko vào chỉnh sửa đc bạn ah?
 
Mình ấn vào Tools thì thấy dòng chữ References bị đóng băng ko vào chỉnh sửa đc bạn ah?
Tất cả file Excel sau khi mở xong, vào VBE đều bị thế này, hay chỉ mỗi mình file trên bị??? Thông thường, bạn có dùng macro không?
 
Tất cả file Excel sau khi mở xong, vào VBE đều bị thế này, hay chỉ mỗi mình file trên bị??? Thông thường, bạn có dùng macro không?
Có phải vào VBE là phải chuột vào Sheet chon View code? nếu là thế thì mình ko thấy lỗi. chỉ có file trên là bị lỗi
Mình đã chọn Enable marco và chọn Medium trong Security
 
Có phải vào VBE là phải chuột vào Sheet chon View code? nếu là thế thì mình ko thấy lỗi. chỉ có file trên là bị lỗi
Mình đã chọn Enable marco và chọn Medium trong Security
Để tôi gửi lại fiel chính, bạn down về giải nén chép đè vào thư mục đã down trước nhé!

(Trong file đính kèm, hôm qua tôi đang xử lý cái vụ tạo giờ nghiệm thu chưa xong, cho nên có thể khi chạy thử, thời gian tạo ra có thể chưa đúng, bạn cứ chạy tạm, tôi sẽ hiệu chỉnh lại sau)

3.04Pm đã gửi lại file đính kèm
 

File đính kèm

Lần chỉnh sửa cuối:
Để tôi gửi lại fiel chính, bạn down về giải nén chép đè vào thư mục đã down trước nhé!

(Trong file đính kèm, hôm qua tôi đang xử lý cái vụ tạo giờ nghiệm thu chưa xong, cho nên có thể khi chạy thử, thời gian tạo ra có thể chưa đúng, bạn cứ chạy tạm, tôi sẽ hiệu chỉnh lại sau)
Mình đã thử chạy file của bạn Và thấy
1) Ra BBNT Công việc và Yêu cầu NT là OK, đúng theo trình tự, yêu cầu
2) Ra BBNT nội bộ bị lỗi, không nhảy ngày ... tháng ... năm... của công việc tương ứng. Mình thấy nó chỉ hiện ngày tháng năm của Công việc Lát đá Granit Tam cấp sảnh!
Sửa lỗi trên cho mình nhé
 
Mình đã thử chạy file của bạn Và thấy
1) Ra BBNT Công việc và Yêu cầu NT là OK, đúng theo trình tự, yêu cầu
2) Ra BBNT nội bộ bị lỗi, không nhảy ngày ... tháng ... năm... của công việc tương ứng. Mình thấy nó chỉ hiện ngày tháng năm của Công việc Lát đá Granit Tam cấp sảnh!
Sửa lỗi trên cho mình nhé

Do truyền biến bị nhầm nên nó không xử lý BBNT nội bộ. Đã sửa và bổ sung chức năng tạo giờ NT theo yêu cầu (tuy nhiên không hiệu chỉnh phần thay đổi thời gian, nghĩa là chỉ có tăng 1 giờ so với giờ bắt đầu).
Bạn copy code dưới đây, thay vào code trong file đã tải nhé.

PHP:
Const nNTNB = "\Nghiem thu noi bo", nNTNBdoc = nNTNB & ".DOC", nNTNBdot = nNTNB & ".DOT"
Const nYCNT = "\Yeu cau nghiem thu", nYCNTdoc = nYCNT & ".DOC", nYCNTdot = nYCNT & ".DOT"
Const nNTCV = "\Nghiem thu cong viec xay dung", nNTCVdoc = nNTCV & ".DOC", nNTCVdot = nNTCV & ".DOT"
Const nbDay = "pDay", nbDay1 = "pDay1", nbDay2 = "pDay2", nbDay3 = "pDay3"
Const nbMon = "pMon", nbMon1 = "pMon1", nbMon2 = "pMon2"
Const nbYear = "pYear", nbYear1 = "pYear1", nbYear2 = "pYear2"
Const nbHour1 = "Hour1", nbHour2 = "Hour2", nbWork = "nWork"
Dim ra, objW As Object, docW As Object 'objW As Word.Application, docW As Word.Document '
Dim hh, tt, D, M, Y
Dim pName As String
Private Sub setBookMark(nBB As String, ParamArray bMs())
Dim dd, mm
    Set docW = objW.Documents.Add(pName & nBB)
    With docW
                .Bookmarks(nbWork).Range.Text = ra.Cells(1)
        Select Case nBB
            Case nNTNB
                dd = Format(Day(D - 1), "0#")
                .Bookmarks(nbDay).Range.Text = dd
                .Bookmarks(nbDay1).Range.Text = dd
                .Bookmarks(nbDay2).Range.Text = dd
                .Bookmarks(nbMon).Range.Text = M
                .Bookmarks(nbMon1).Range.Text = M
                .Bookmarks(nbMon2).Range.Text = M
                
                .Bookmarks(nbYear).Range.Text = Y
                .Bookmarks(nbYear1).Range.Text = Y
                .Bookmarks(nbYear2).Range.Text = Y
                Do
                dd = 8 + Int(Rnd() * 8)
                mm = Int(Rnd() * 2) * 30
                Loop While (dd = 11 And mm = 30) Or dd = 12 Or dd = 13
                .Bookmarks(nbHour1).Range.Text = Format(dd, "0#") & "h" & Format(mm, "0#")
                .Bookmarks(nbHour2).Range.Text = Format(dd + 1, "0#") & "h" & Format(mm, "0#")
                
            Case nYCNT
                .Bookmarks(nbDay).Range.Text = Format(D, "dd/mm/yyyy")
                .Bookmarks(nbDay1).Range.Text = Format(D, "dd/mm/yyyy")
                .Bookmarks(nbDay2).Range.Text = Format(D - 1, "dd/mm/yyyy")
                .Bookmarks(nbDay3).Range.Text = Format(D - 1, "dd/mm/yyyy")
                .Bookmarks(nbHour1).Range.Text = Format(hh, "0#") & "h" & Format(tt, "0#")
                
            Case nNTCV
                dd = Format(Day(D), "0#")
                .Bookmarks(nbDay).Range.Text = dd
                .Bookmarks(nbDay1).Range.Text = dd
                .Bookmarks(nbDay2).Range.Text = dd
                .Bookmarks(nbMon).Range.Text = M
                .Bookmarks(nbMon1).Range.Text = M
                .Bookmarks(nbMon2).Range.Text = M
                
                .Bookmarks(nbYear).Range.Text = Y
                .Bookmarks(nbYear1).Range.Text = Y
                .Bookmarks(nbYear2).Range.Text = Y
                
                .Bookmarks(nbHour1).Range.Text = Format(hh, "0#") & "h" & Format(tt, "0#")
                .Bookmarks(nbHour2).Range.Text = Format(hh + 1, "0#") & "h" & Format(tt, "0#")
        End Select
    End With
    docW.PrintPreview
    'docW.SaveAs Filename:=ThisWorkbook.Path & nNTNB & ".DOC"
Set docW = Nothing
End Sub
Sub cDoc()
Dim Traloi
Set ra = Selection.Offset(0, 1).Resize(1, 2)
Traloi = MsgBox(Prompt:="Tao cac bien ban nghiem thu Y/N ? " & Chr(10) & Chr(13) & _
   ra(1, 1), Buttons:=vbYesNo, Title:="KIEM TRA")
If Traloi = vbNo Then Exit Sub
'On Error Resume Next'
Set objW = CreateObject("Word.Application")
objW.Visible = True
    pName = ThisWorkbook.Path 'Dieu chinh cho phu hop'
    Randomize
    D = ra.Cells(2): M = Format(Month(D), "0#"): Y = Year(D)
    Do
    hh = 8 + Int(Rnd() * 8)
    tt = Int(Rnd() * 2) * 30
    Loop While (hh = 11 And tt = 30) Or hh = 12 Or hh = 13
    Call setBookMark(nNTNB)
    Call setBookMark(nYCNT)
    Call setBookMark(nNTCV)
Set objW = Nothing
End Sub
 
Bạn ơi. Copy vào đâu và ntn đó? Mình không biết về Code mà
 
Cho mình hỏi
Có thể sửa Nội dung trong các cột A , B , C của Danh muc bbnt đợt 11 và trong 3 file word mẫu đó không?
Mình muốn chỉnh sửa nội dung trong các mẫu đó.
Khi mình sửa thì Code có chạy đc ko?
Thanks
 
Cho mình hỏi
Có thể sửa Nội dung trong các cột A , B , C của Danh muc bbnt đợt 11 và trong 3 file word mẫu đó không?
Mình muốn chỉnh sửa nội dung trong các mẫu đó.
Khi mình sửa thì Code có chạy đc ko?
Thanks

Về file Excel, code chỉ cần có 3 cột (vì định phát triển chức năng này lên thành in hàng loạt biên bản nên cần cột 1): cột đầu là vị trí mà bạn sẽ chọn trước khi thực hiện lệnh, cột thứ 2 là nội dung BB, cột 3 là ngày. Do đó bạn muôn chỉnh sửa gì cũng được miễn sao có 3 thông tin nay để code chạy

Về 3 file word - thuộc loại templace cho nên bạn không thể nhấn double-click vào nó được (vì như thế nó sẽ mở ra 1 văn bản mới), để sửa file thuộc loại .DOT, bạn nhấn chuột phải vào chọn OPEN để mở.

Trong mỗi file, về nội dung thì bạn muốn chỉnh sửa (thậm chí xóa hết cũng được), nhưng trong đó tôi đã đặt các vị trí đánh dấu (bookmark) mà nhờ nó dữ liệu từ Excel sẽ xác định được đúng vị trí để đưa thông tin vào. Bạn mở file DOT lên nhấn F5 sẽ gọi hộp thoại Go to sẽ thấy dòng Bookmark, click vào đó sẽ thấy tên các bookmark có trong văn bản. Khi chỉnh sửa file, bạn đừng có xóa nhầm các BM này là OK.
 
Khi mình thu chay thì thấy OK. Nhưng có 1 vài đầu việc khi mình đặt con trỏ và ấn tạo BB, thì có lỗi
Như khi ở ô số 5 trên hình đó
Đó là lỗi gì vậy ban?
 

File đính kèm

Khi mình thu chay thì thấy OK. Nhưng có 1 vài đầu việc khi mình đặt con trỏ và ấn tạo BB, thì có lỗi
Như khi ở ô số 5 trên hình đó
Đó là lỗi gì vậy ban?

Ngày nhập sai (máy tính của bạn đang đặt theo kiểu: tháng/ngày/năm) - trong file của bạn ngày tháng nhập không thống nhất - nơi thì theo mm/dd/yyyy, nơi thì dd/mm/yyyy. Bạn sửa lại ngày là chạy OK
 
Máy mình đã chỉnh trong hệ thống của Win mà. Tròng hinh của mình là 25/06/2012 đó. Và trong cel mình cung đã đặt đinh dạng dd/mm/yyyy mà?
 
Thanks bạn nhiều
Bạn đúng là 1 cao thủ excel!
 
6-25-2012 9-25-09 PM.jpg

Trong file của bạn tồn tại cùng lúc 2 loại ngày khác nhau. Bạn xóa ngày ở vùng trên, nhập lại giá trị mới theo kiểu mm/dd/yyyyy và thử lại (hoặc là bạn dùng hàm Now() gõ vào 1 ô bất kỳ và xem dạng ngày giờ hiện tại trên máy của bạn)
 
Góp ya mẫu

Trong phiếu yêu cầu nghiệm thu trong ô vuông bạn click chột trái để đánh dấu theo hạng mục cho phù hợp
 

File đính kèm

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

Back
Top Bottom