Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
se7en

hỏi về start up trong vba

Các bài được khuyến nghị

em có file dvb.bgio muốn mỗi lần load lên là sẽ tự động chạy 1 module trong file dvb ấy nhưng chẳng biết code ntn. có a e nào biết chỉ dùm em.

cám ơn nhiều :bigsmile:

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
em có file dvb.bgio muốn mỗi lần load lên là sẽ tự động chạy 1 module trong file dvb ấy nhưng chẳng biết code ntn. có a e nào biết chỉ dùm em.

cám ơn nhiều :bigsmile:

 

 

Một bản vẽ được tạo ra thì bạn mất bao nhiêu lần gõ lệnh mà phải băn khoăn tìm một code để chạy tự động một module nào đó khi load một VBA project.

Theo mình biết thì không có cái nào như vậy cả, ngọai trừ trường hợp bạn viết lại lệnh load cho VBA.

Có thể viết lại lệnh load bằng LISP

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
Một bản vẽ được tạo ra thì bạn mất bao nhiêu lần gõ lệnh mà phải băn khoăn tìm một code để chạy tự động một module nào đó khi load một VBA project.

Theo mình biết thì không có cái nào như vậy cả, ngọai trừ trường hợp bạn viết lại lệnh load cho VBA.

Có thể viết lại lệnh load bằng LISP

vấn đề ở đây là trong VBA project của mình, mình đã viết 1 module để tạo ra 1 số buttom trong toolbar để chạy các ứng dụng con phục vụ cho công việc của mình, nhưng không biết cách như thế nào để tự động kích hoạt module ấy khi load dvb, chứ không fải vào VBA rồi Run.mình thì chỉ biết về vba, chứ lisp thì không.hồi xưa nhớ VB cứ tạo 1 module có tên là autoexec gì đấy là sẽ tự động chạy luôn khi load project, nhưng mò hoài chẳng ra...hic..hic... :bigsmile:

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
vấn đề ở đây là trong VBA project của mình, mình đã viết 1 module để tạo ra 1 số buttom trong toolbar để chạy các ứng dụng con phục vụ cho công việc của mình, nhưng không biết cách như thế nào để tự động kích hoạt module ấy khi load dvb, chứ không fải vào VBA rồi Run.mình thì chỉ biết về vba, chứ lisp thì không.hồi xưa nhớ VB cứ tạo 1 module có tên là autoexec gì đấy là sẽ tự động chạy luôn khi load project, nhưng mò hoài chẳng ra...hic..hic... :bigsmile:

 

 

Để tải 1 project *.dvb, bạn vào menu Tools, chọn Load Application... Khi cửa sổ Load/Unload Application... hiện ra, chọn Contens... Cửa sổ Startup suite, chọn nút Add... và chọn *.dvb nào đó. Khi bạn khởi động AutoCad, *.dvb đó sẽ được tải tự động.

 

Ngoài bạn tìm hiểu thêm lập trình sự kiện trong AutoCad (giống như trong Excel)

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
Để tải 1 project *.dvb, bạn vào menu Tools, chọn Load Application... Khi cửa sổ Load/Unload Application... hiện ra, chọn Contens... Cửa sổ Startup suite, chọn nút Add... và chọn *.dvb nào đó. Khi bạn khởi động AutoCad, *.dvb đó sẽ được tải tự động.

 

Ngoài bạn tìm hiểu thêm lập trình sự kiện trong AutoCad (giống như trong Excel)

bạn chưa hiểu ý tôi rùi.Ở đây, mình muốn tự động chạy 1 module hay macro trong 1 dvb, chứ không fải muốn CAD tự động load 1 dvb. Ví dụ : trong Test.dvb có 3 module a,b,c, thì mình muốn mỗi khi load test.dvb này lên thì module a sẽ tự động thực thi luôn.

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
bạn chưa hiểu ý tôi rùi.Ở đây, mình muốn tự động chạy 1 module hay macro trong 1 dvb, chứ không fải muốn CAD tự động load 1 dvb. Ví dụ : trong Test.dvb có 3 module a,b,c, thì mình muốn mỗi khi load test.dvb này lên thì module a sẽ tự động thực thi luôn.

 

Theo tui biết thì cần phải load Project trước, sau đó mới load Macro trong Project đó.

* Để tự động load Project (Prj) khi mở CAD:

1. Lưu Prj với tên acad.dvb trong folder cài đặt AutoCad.

2. Mở file acad.rx trong folder trên (nếu chưa có thì phải tạo mới), thêm dòng sau:

acadvba.arx

 

* Để tải 1 thủ tục trong Prj acad.dvb trên, trong file acaddoc.lsp hoặc acad.lsp (trong folder cài đặt) thêm code này:

(defun S::STARTUP()

(command "_-vbarun" modulename.procedurename)

)

 

modu... là tên module trong Prj

pro... là tên thủ tục hay macro trong module đó

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
Theo tui biết thì cần phải load Project trước, sau đó mới load Macro trong Project đó.

* Để tự động load Project (Prj) khi mở CAD:

1. Lưu Prj với tên acad.dvb trong folder cài đặt AutoCad.

2. Mở file acad.rx trong folder trên (nếu chưa có thì phải tạo mới), thêm dòng sau:

acadvba.arx

 

* Để tải 1 thủ tục trong Prj acad.dvb trên, trong file acaddoc.lsp hoặc acad.lsp (trong folder cài đặt) thêm code này:

(defun S::STARTUP()

(command "_-vbarun" modulename.procedurename)

)

 

modu... là tên module trong Prj

pro... là tên thủ tục hay macro trong module đó

Mình đã làm theo hướng dẫn nhưng sao vẫn không thấy module được tự động thực thi...hic...hic... :bigsmile:

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

Xin bác hướng chỉ giúp với

Bình thường khi tạo dự án VBA thì ta được file với đuôi là *.dvb

Không đính kèm VBA với file *.dwg được.

Trong file "HienForm" bác gửi thấy bác làm được.

Xin bác chỉ giúp cách làm với

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
Xin bác hướng chỉ giúp với

Bình thường khi tạo dự án VBA thì ta được file với đuôi là *.dvb

Không đính kèm VBA với file *.dwg được.

Trong file "HienForm" bác gửi thấy bác làm được.

Xin bác chỉ giúp cách làm với

 

AutoCad quản lý dự án (project) VBA theo 2 phương pháp:

- Dự án độc lập, thể hiện bởi các đuôi *.dwb. Tất cả các bản vẽ đều có thể tải dự án này để thực thi chương trình.

- Dự án nhúng (Embed), tức là dự án được nhúng trong bản vẽ định sẵn, giống như VBA Excel.

 

Cách thực hiện dự án nhúng như sau (tôi dùng Cad2004):

- Xây dựng file *.dvb như thông thường.

- Tải dự án bằng cách vào Tools và chọn Load Application...

- Sau đó vào menu Tools, chọn Macro và chọn VBA Manager.

 

Cửa sổ VBA Manager hiện ra:

- Chọn bản vẽ nào cần nhúng dự án Drawing.

- Chọn tên dự án để nhúng vào bản vẽ trên trong Projects, sau đó bấm vào nút Embed. Chọn dự án khác nếu cần bằng cách bấm vào nút Loads.

- Close ---> OK!

  • Vote tăng 1

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

Cám ơn, tôi đã làm được rồi.

Bác biết về VBA và ACAD nhiều quá.

Nhân tiện bác có thể chỉ cách truyền dữ liệu từ lisp sang VBA được không, Khi tính toán em tính trong lisp cần truyền cho VBA mà chưa biết làm cách nào

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
Cám ơn, tôi đã làm được rồi.

Bác biết về VBA và ACAD nhiều quá.

Nhân tiện bác có thể chỉ cách truyền dữ liệu từ lisp sang VBA được không, Khi tính toán em tính trong lisp cần truyền cho VBA mà chưa biết làm cách nào

 

Không dám, công việc chỉ sử dụng Cad ở mức độ hạn chế, nhưng thích lập trình VBA trong chúng thôi.

 

Ngày trước cũng có lọ mọ cái lisp, nhưng lâu rồi tôi không nghiên cứu nữa. Quên sạch rồi :s_big:

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

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay
Đăng nhập để thực hiện theo  

×