Đến nội dung


Hình ảnh
- - - - -

Function Sum Text


  • Please log in to reply
15 replies to this topic

#1 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 23 November 2010 - 01:42 PM

Bác nào có module cộng text theo cột cho e xin với ^^ Các text có chung tọa độ x (chính xác).Nếu có nhiều cột,e muốn quét 1 phát ra kết quả từng cột riêng biệt có đc k ạ ^^
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#2 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 24 November 2010 - 04:55 PM

Híc,có vẻ CV member ít mặn mà với VBA :leluoi:
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#3 khatamxd

khatamxd

    biết vẽ ellipse

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

Đã gửi 19 December 2010 - 10:35 PM

Tình hình là e mới tham gia diễn đàn, e thix nhất là chủ đề VBA :undecided: . Nhưng sao thấy chủ đề này ít sôi nổi quá, sáng lên xem, chiều lên xem, ngày kia lên xem cũng là nhiu đó..., đành tìm bài cũ post chơi.

Bác nào có module cộng text theo cột cho e xin với ^^ Các text có chung tọa độ x (chính xác).Nếu có nhiều cột,e muốn quét 1 phát ra kết quả từng cột riêng biệt có đc k ạ ^^

http://www.cadviet.c...3/cong_text.rar
Bác down về giải nén rồi load 2 file trong đó vào cad. Đánh lệnh "ctext" -->chọn text -->enter-->chọn điểm bất kì xem thử kết quả có theo ý bác không nhé!
  • 1

#4 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 19 December 2010 - 11:45 PM

Hề hề.Tks bác đã giúp đỡ e.Vậy là có thêm người bàn luận rồi..^^
ps : hicíc,srr bác vì ý đồ của e là cộng giá trị,mà e trình bày không rõ,thành ra bác lại giúp e ở mảng ghép text ^^ Sơ suất quá ^^.Bác đổi hướng bài toán giúp e với
PS 2 : Mà điểm insert text kết quả cuối cùng có lẽ không ổn bác ạ,theo e trình bày theo hàng cột đã có của bảng dữ liệu thì hay hơn.Mong bác chỉ dẫn thêm
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#5 anhcos

anhcos

    biết lệnh hatchedit

  • Advance Member
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 170 (tàm tạm)

Đã gửi 20 December 2010 - 09:58 AM

Cộng text theo 1 cột thì không khó.

Có thể mở rộng bài toán một chút như sau:
Chọn các text có dạng tựa bảng, các tọa độ hoàn toàn không giống nhau chính xác như:
Các text cùng cột có X lệch nhau một ít, tương tự Y cùng hàng có thể không giống hệt nhau.

Ảnh minh họa:
Hình đã gửi

Sau đó sắp xếp lại theo hàng theo cột, thành một mảng 2 chiều chứa các text, và lúc đó có thể thực hiện phép tính.
VD như SUM vào dưới hàng cuối, or thêm cột SUM bên phải.
  • 1
Clear sky!

MF Rock collection.

#6 khatamxd

khatamxd

    biết vẽ ellipse

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

Đã gửi 20 December 2010 - 10:45 AM

Hề hề.Tks bác đã giúp đỡ e.Vậy là có thêm người bàn luận rồi..^^
ps : hicíc,srr bác vì ý đồ của e là cộng giá trị,mà e trình bày không rõ,thành ra bác lại giúp e ở mảng ghép text ^^ Sơ suất quá ^^.Bác đổi hướng bài toán giúp e với
PS 2 : Mà điểm insert text kết quả cuối cùng có lẽ không ổn bác ạ,theo e trình bày theo hàng cột đã có của bảng dữ liệu thì hay hơn.Mong bác chỉ dẫn thêm

Yêu cầu của bạn đưa ra còn dễ hơn cái mình làm. Không cần phải sắp xếp thứ tự text theo tọa độ trước khi cộng
Đây là file mình đã sửa theo ý bạn
http://www.cadviet.c...ia_tri_text.rar
Mở rộng thêm: ví dụ về viêc cần thiết phải sắp xếp tọa độ theo thứ tự đó là bài toán đánh tên tọa cọc. Mình đã từng làm 1 module: quét bản vẽ cọc-->tự động đánh tên cọc theo thứ tự từ trái qua phải, từ trên xuống dưới trên bản vẽ và xuất tọa độ cọc ra excel.
  • 1

#7 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 20 December 2010 - 11:17 AM

Bác check lại xem sao, chứ e quét 1 hát rồi thấy nó im lặng luôn ^^
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#8 khatamxd

khatamxd

    biết vẽ ellipse

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

Đã gửi 20 December 2010 - 11:50 AM

Bác check lại xem sao, chứ e quét 1 hát rồi thấy nó im lặng luôn ^^

Mình check rồi. Down về load lại thấy ok mà. bạn add yahoo trao đổi cho tiện nhé:khatamxd@yahoo.com
  • 0

#9 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 24 December 2010 - 09:42 AM

Haiza,e test mãi vẫn là sự im lặng ^^.Pm YH hok thấy bác tlời ạ
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#10 khatamxd

khatamxd

    biết vẽ ellipse

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

Đã gửi 24 December 2010 - 11:14 AM

Haiza,e test mãi vẫn là sự im lặng ^^.Pm YH hok thấy bác tlời ạ

Sori bạn, mình ít lên yahoo nên ko bít. Đánh lệnh "ctext"-->chọn text --> enter. Không bít bác có làm đúng ko. Hay là bạn chọn text xong ngồi đợi kết quả nhỉ^^ :undecided: .
Góp ý thêm: Để kiểm tra lại bạn có thể cho chương trình chạy từng lệnh(F8) để theo dõi các biến nó biến đổi như thế nào, khi đó sẽ bít ngay lổi sai nằm ở đâu
  • 0

#11 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 24 December 2010 - 11:40 AM

^^.Hì..Nó lúc chạy lúc không,lúc ra kết quả lúc lại lặng im, thế mới lạ bác ạ.
-Hơn nữa code chưa xét đến mức độ lệch theo phương x,nên chỉ ra kết quả như mong đợi trong trường hợp tất cả các text đã được căn lề trái. (căn phải,căn giữa đều bị tách)
-E không thể làm j được vì " vẫn còn đó password",nên hok bít nghiên cứu với lại F8 mần răng bi chừ ^^
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#12 khatamxd

khatamxd

    biết vẽ ellipse

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

Đã gửi 24 December 2010 - 12:30 PM

^^.Hì..Nó lúc chạy lúc không,lúc ra kết quả lúc lại lặng im, thế mới lạ bác ạ.
-Hơn nữa code chưa xét đến mức độ lệch theo phương x,nên chỉ ra kết quả như mong đợi trong trường hợp tất cả các text đã được căn lề trái. (căn phải,căn giữa đều bị tách)
-E không thể làm j được vì " vẫn còn đó password",nên hok bít nghiên cứu với lại F8 mần răng bi chừ ^^

PS1:Thế mà ngay ở đầu topic bạn đã nói cộng các text có chung tọa độ X, còn nhấn mạnh là chính xác nữa chứ.
PS2:Cái này thì ko đúng với bạn ketxu rồi. Xem lại link này đi nhé!hê hê
http://www.cadviet.c...showtopic=19199
ketxu:Thực chất việc xóa pass của DVB file rất đơn giản,nhưng mình nghĩ không nên show thì tốt hơn
  • 0

#13 vietha209

vietha209

    biết zoom

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

Đã gửi 24 December 2010 - 01:55 PM

ketxu:Thực chất việc xóa pass của DVB file rất đơn giản,nhưng mình nghĩ không nên show thì tốt hơn

:undecided:
  • 0

#14 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1436 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 24 December 2010 - 03:28 PM

Tại sao CV member ít mặn mà với VBA ?

Híc,có vẻ CV member ít mặn mà với VBA :undecided:

...................
Nhưng sao thấy chủ đề này ít sôi nổi quá, sáng lên xem, chiều lên xem, ngày kia lên xem cũng là nhiu đó..., đành tìm bài cũ post chơi.
............


..............
Góp ý thêm: Để kiểm tra lại bạn có thể cho chương trình chạy từng lệnh(F8) để theo dõi các biến nó biến đổi như thế nào, khi đó sẽ bít ngay lổi sai nằm ở đâu


Câu trả lời là :

.....................
-E không thể làm j được vì " vẫn còn đó password",nên hok bít nghiên cứu với lại F8 mần răng bi chừ ^^


Bác nào có module cộng text theo cột cho e xin với ^^ Các text có chung tọa độ x (chính xác).Nếu có nhiều cột,e muốn quét 1 phát ra kết quả từng cột riêng biệt có đc k ạ ^^


Tham khảo : Tính tổng giá trị Text đã chọn.
Sub TotalText()
Dim AcadTxt As AcadText
Dim ss As AcadSelectionSet
Dim TotalValue As Double
On Error Resume Next
Set ss = ThisDrawing.SelectionSets.Add("TextObj")
ss.SelectOnScreen

For Index = 0 To ss.Count - 1
If ss(Index).ObjectName = "AcDbText" Then
Set AcadTxt = ss(Index)
TotalValue = TotalValue + AcadTxt.TextString
End If
Next Index

ThisDrawing.SelectionSets.item("TextObj").Delete
Set ss = Nothing
Set AcadTxt = Nothing
MsgBox "Total = " & TotalValue
End Sub

  • 1

#15 khatamxd

khatamxd

    biết vẽ ellipse

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

Đã gửi 24 December 2010 - 08:23 PM

Thực ra mình ko nắm rõ dữ liệu vào của bạn ketxu nên bài toán đơn giản mà phải tranh luận nhìu như thế
Khi lấy tọa độ của text ta được tọa độ điểm bên trái góc dưới khung chứa text. Và mình đã lấy tọa độ này để đi xử lý. Khi bạn canh giữa, canh phải hay có khoảng trắng trước khi đánh text thì sẽ dẫn đến kết quả sai-->bít được nguyên nhân, nắm rõ dữ liệu vào thế là bạn có thể giải quyết được bài toán này dễ dàng bằng cách tạo thêm một hàm để xử lý lấy được tọa độ chính xác của text.

-Hơn nữa code chưa xét đến mức độ lệch theo phương x

Code của mình đã xét đến mức độ lệch theo phương X rồi đó chứ. Chỉ có điều mình cho độ lệch nhỏ quá(=1/5 chiều cao text) nên bạn tưởng là chưa. Có thể test lại níu nghi ngờ
  • 1

#16 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 25 December 2010 - 11:20 PM

PS1:Thế mà ngay ở đầu topic bạn đã nói cộng các text có chung tọa độ X, còn nhấn mạnh là chính xác nữa chứ.
PS2:Cái này thì ko đúng với bạn ketxu rồi. Xem lại link này đi nhé!hê hê
http://www.cadviet.c...showtopic=19199
ketxu:Thực chất việc xóa pass của DVB file rất đơn giản,nhưng mình nghĩ không nên show thì tốt hơn



Thực ra mình ko nắm rõ dữ liệu vào của bạn ketxu nên bài toán đơn giản mà phải tranh luận nhìu như thế
Khi lấy tọa độ của text ta được tọa độ điểm bên trái góc dưới khung chứa text. Và mình đã lấy tọa độ này để đi xử lý. Khi bạn canh giữa, canh phải hay có khoảng trắng trước khi đánh text thì sẽ dẫn đến kết quả sai-->bít được nguyên nhân, nắm rõ dữ liệu vào thế là bạn có thể giải quyết được bài toán này dễ dàng bằng cách tạo thêm một hàm để xử lý lấy được tọa độ chính xác của text.

Code của mình đã xét đến mức độ lệch theo phương X rồi đó chứ. Chỉ có điều mình cho độ lệch nhỏ quá(=1/5 chiều cao text) nên bạn tưởng là chưa. Có thể test lại níu nghi ngờ

Tks bác.ĐÚng là lỗi do e.Có lẽ là do cái tật hấp tấp lại wen đòi voi đc 2 bà trưng rùi, nên yêu cầu có phần rối rắm ^^.Thực ra thì lúc đầu e cũng nghĩ tất cả text căn trái hết rồi,n sau này mới nghĩ ra phát sinh thế .hề hề
p/S : vì là e XIN,và mỗi lần ketxu e xin thì đều nghĩ ngoài e ra thì cũng có người khác cần,nên phải hỏi xin phép tác giả mỗi khi muốn public để hỏi han,thắc mắc,chỉnh sửa, nên k làm ẩu đc :undecided:
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC