Đến nội dung


Hình ảnh
- - - - -

hỏi về start up trong vba


  • Please log in to reply
12 replies to this topic

#1 se7en

se7en

    biết vẽ ellipse

  • Members
  • PipPip
  • 52 Bài viết
Điểm đánh giá: 5 (bình thường)

Đã gửi 16 November 2007 - 11:15 AM

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:
  • 0
Mê xe và súng
Thích để súng trong xe

#2 vndesperados

vndesperados

    biết lệnh xref

  • Members
  • PipPipPipPipPipPipPip
  • 547 Bài viết
Điểm đánh giá: 253 (khá)

Đã gửi 16 November 2007 - 12:50 PM

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
  • 0

#3 se7en

se7en

    biết vẽ ellipse

  • Members
  • PipPip
  • 52 Bài viết
Điểm đánh giá: 5 (bình thường)

Đã gửi 16 November 2007 - 10:49 PM

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:
  • 0
Mê xe và súng
Thích để súng trong xe

#4 phantuhuong

phantuhuong

    biết dimstyle

  • Moderator
  • PipPipPipPipPip
  • 383 Bài viết
Điểm đánh giá: 200 (khá)

Đã gửi 17 November 2007 - 03:32 PM

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)
  • 0
Bồi dưỡng Excel & VBA cho các đơn vị ở Hà Nội và khu vực lân cận

Từng bước loại đồ Tàu ra khỏi cuộc sống!


#5 se7en

se7en

    biết vẽ ellipse

  • Members
  • PipPip
  • 52 Bài viết
Điểm đánh giá: 5 (bình thường)

Đã gửi 17 November 2007 - 06:36 PM

Để 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.
  • 0
Mê xe và súng
Thích để súng trong xe

#6 tqt37c2

tqt37c2

    Chưa sử dụng CAD

  • Members
  • Pip
  • 3 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 21 November 2007 - 08:52 AM

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 đó
  • 0

#7 se7en

se7en

    biết vẽ ellipse

  • Members
  • PipPip
  • 52 Bài viết
Điểm đánh giá: 5 (bình thường)

Đã gửi 27 November 2007 - 07:40 AM

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:
  • 0
Mê xe và súng
Thích để súng trong xe

#8 tranchan

tranchan

    biết lệnh break

  • Members
  • PipPipPipPip
  • 221 Bài viết
Điểm đánh giá: 93 (tàm tạm)

Đã gửi 25 June 2008 - 04:23 PM

Xem http://www.cadviet.c...amp;#entry20170
và thử lại nhé
  • 0

#9 phantuhuong

phantuhuong

    biết dimstyle

  • Moderator
  • PipPipPipPipPip
  • 383 Bài viết
Điểm đánh giá: 200 (khá)

Đã gửi 14 July 2008 - 10:26 PM

Bạn xem lập trình sự kiện dưới đây và tải file kèm theo:

Hình đã gửi


Tải file:

http://www.cadviet.c.../HienForm_1.rar
  • 0
Bồi dưỡng Excel & VBA cho các đơn vị ở Hà Nội và khu vực lân cận

Từng bước loại đồ Tàu ra khỏi cuộc sống!


#10 ntluyen

ntluyen

    biết vẽ ellipse

  • Members
  • PipPip
  • 54 Bài viết
Điểm đánh giá: 19 (tàm tạm)

Đã gửi 23 August 2008 - 10:49 AM

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
  • 0

#11 phantuhuong

phantuhuong

    biết dimstyle

  • Moderator
  • PipPipPipPipPip
  • 383 Bài viết
Điểm đánh giá: 200 (khá)

Đã gửi 24 August 2008 - 04:00 PM

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!
  • 1
Bồi dưỡng Excel & VBA cho các đơn vị ở Hà Nội và khu vực lân cận

Từng bước loại đồ Tàu ra khỏi cuộc sống!


#12 ntluyen

ntluyen

    biết vẽ ellipse

  • Members
  • PipPip
  • 54 Bài viết
Điểm đánh giá: 19 (tàm tạm)

Đã gửi 25 August 2008 - 09:13 AM

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
  • 0

#13 phantuhuong

phantuhuong

    biết dimstyle

  • Moderator
  • PipPipPipPipPip
  • 383 Bài viết
Điểm đánh giá: 200 (khá)

Đã gửi 27 August 2008 - 03:03 PM

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:
  • 0
Bồi dưỡng Excel & VBA cho các đơn vị ở Hà Nội và khu vực lân cận

Từng bước loại đồ Tàu ra khỏi cuộc sống!