saycaphe 2 Báo cáo bài đăng Đã đăng Tháng 12 25, 2011 Chào các anh. Em muốn nhờ các anh hướng dẫn viết 1 chương trình bằng VB, để load các bản vẽ vào 1 list, rồi mở các bản vẽ từ list đó. Em mới làm đc load các bản vẽ vào trong 1 list thôi, phần còn lại chưa biết cách giải quyết. Mong đc các anh giúp đỡ Option Explicit Private Sub cmdExit_Click() End End Sub Private Sub cmdOpen_Click() Dim strFileNames As Variant Dim i As Integer filepath = CommonDialog1.FileName strFileNames = Split(GetFiles, Chr(0)) With List1 If UBound(strFileNames) > 0 Then .Clear 'Path is stored in index 0 of array files in index 1... Label1.Caption = "Files selected from: " & strFileNames(0) For i = 1 To UBound(strFileNames) .AddItem strFileNames(i) Next Else .AddItem "(No files selected)" End If End With End Sub Public Function GetFiles(Optional ByVal sTitle As String = "Open files...") As String ' sTitle: Optional Title of Dialog Dim sFilenames As String Dim cdlOpen As Object On Error GoTo ProcError ' Get the desired name using the common dialog Set cdlOpen = CreateObject("MSComDlg.CommonDialog") ' set up the file open dialog file types With cdlOpen ' setting CancelError means the control will ' raise an error if the user clicks Cancel .CancelError = True .Filter = "DXF Files (*.dxf)|*.dxf|All Files (*.*)|*.*|Text Files (*.txt)|*.*.txt|INI Files (*.ini)|*.ini|Images (*.bmp;*.jpg;*.gif)|*.bmp;*.jpg;*.gif" .FilterIndex = 1 .DialogTitle = sTitle .MaxFileSize = &H7FFF ' 32KB filename buffer ' set up Common Dialog flags ' same as .Flags = cdlOFNHideReadOnly Or cdlOFNPathMustExist Or cdlOFNLongNames Or cdlOFNAllowMultiselect or cdlOFNExplorer .Flags = &H4 Or &H800 Or &H40000 Or &H200 Or &H80000 .ShowOpen ' get the selected name sFilenames = .FileName End With ProcExit: GetFiles = sFilenames Set cdlOpen = Nothing Exit Function ProcError: If Err.Number = &H7FF3 Then Resume Next 'Cancel selected - Ignore MsgBox Err.Description & "(" & Err.Number & ")", vbExclamation, "Open error" sFilenames = "" Resume ProcExit End Function Private Sub Command1_Click() End Sub Private Sub cmdRun_Click() Dim filepath As String Dim i As Integer filepath = CommonDialog1.FileName With List1 For i = 1 To UBound(filepath) .AddItem strFileNames(i) Next End Sub Private Sub Form_Load() On Error Resume Next Set AcadApp = GetObject(, "AutoCAD.Application") [color=#ff0000] If Err <> 0[/color] Err.Clear Set AcadApp = CreateObject("AutoCAD.Application") End If AppActivate AcadApp.Caption AcadApp.Visible = True End Sub http://www.mediafire.com/?p8604so8xmdi9sp cám ơn các anh ! Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
Tue_NV 3.912 Báo cáo bài đăng Đã đăng Tháng 12 26, 2011 Up up up nhờ các cao thủ chỉ giáo Cái này với LSP, giải quyết đơn giản, vài dòng là xong! Bạn viết bài trong topic này thì phải chờ thôi, vì Tue_NV không biết VB :blush: Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
ketxu 2.984 Báo cáo bài đăng Đã đăng Tháng 12 26, 2011 Bạn nghiên cứu method Open trong Help Develop ^^ Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
saycaphe 2 Báo cáo bài đăng Đã đăng Tháng 12 26, 2011 Cái này với LSP, giải quyết đơn giản, vài dòng là xong! Bạn viết bài trong topic này thì phải chờ thôi, vì Tue_NV không biết VB :blush: với Lisp thì làm thế nào để mở nhiều bản vẽ vậy bác? Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
gia_bach 1.549 Báo cáo bài đăng Đã đăng Tháng 12 26, 2011 với Lisp thì làm thế nào để mở nhiều bản vẽ vậy bác? Cái này với LSP, giải quyết đơn giản, vài dòng là xong! Bạn viết bài trong topic này thì ... chịu thôi :blush: Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác
hoan2182 842 Báo cáo bài đăng Đã đăng Tháng 12 26, 2011 Sao bạn không dùng lệnh OPEN, rồi chọn toàn bộ các file trong thư mục đó? ACAD sẽ mở lần lượt từng file cho đến lúc nào hết thì thôi. Nếu thế này thì có một mẹo như sau: - Tạo 1 file acad.lsp trong thư mục chứa các file DWG với nội dung: (getstring "\nNhan enter de tiep tuc") - Tiếp đến, mở tất cả các file trong thư mục đó bằng phím shift hay ctr như đã hướng dẫn. - Bây giờ, cứ mỗi lần mở 1 file, màn hình sẽ dừng cho đến khi bạn nhấn enter hoặc dấu cách rồi mới mở file kế tiếp. - Muốn ACAD trở lại bình thường, chỉ đơn giản là xóa (hoặc rename) file acad.lsp là xong. Chia sẻ bài đăng này Liên kết tới bài đăng Chia sẻ trên các trang web khác