Đến nội dung


Hình ảnh
- - - - -

Nhờ các cao thủ VBA trên diễn đàn www.cadviet.com giúp


  • Please log in to reply
4 replies to this topic

#1 tucdrom

tucdrom

    — T — U — N — A —

  • Members
  • PipPipPipPipPipPip
  • 497 Bài viết
Điểm đánh giá: 642 (tốt)

Đã gửi 22 November 2008 - 12:38 PM

Em đang tìm hiểu VBA for AutoCad.Phương thức AddText trong VBA,cho ta 1 dòng text trên màn hình Cad.Nhưng font của text đó là font text mặc định của Cad(.txt) trong không đẹp cho lắm.Em muốn hỏi các bác về code của phương thức AddText mà text đó là font bất kì do mình mặc định(.VnTime hoặc Times New Roman...) cũng như chiều cao và mầu chữ mặc định từ đầu là như thế nào?Cảm ơn các bác đã xem qua chủ đề của em.



Phương châm sống"luôn luôn biết lắng nghe,tiếp thu và học hỏi.Nói ít làm nhiều"
  • 0

Email : anhtu2101@gmail.com



 


#2 phantuhuong

phantuhuong

    biết dimstyle

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

Đã gửi 24 November 2008 - 09:17 AM

Bạn chú ý về tên tiêu đề nhé, diễn đàn mà toàn câu hỏi kiểu này thì sau đó tìm kiếm thế nào được??

Tham khảo ở đây:

Sub KieuChu()
Dim ChuP As Variant, Noidung As String
Dim ChuT As AcadText

Noidung = InputBox("Nhap noi dung chu:", "www.cadviet.com", "www.cadviet.com")

ChuP = ThisDrawing.Utility.GetPoint(, "Chon diem viet chu: ")
Set ChuT = ThisDrawing.ModelSpace.AddText(Noidung, ChuP, "2")
MsgBox "Chu cao la " & "2"
ChuT.Height = "5"
ChuT.ObliqueAngle = 0.2
ChuT.color = acRed
Set ChuT = Nothing
End Sub

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


#3 tucdrom

tucdrom

    — T — U — N — A —

  • Members
  • PipPipPipPipPipPip
  • 497 Bài viết
Điểm đánh giá: 642 (tốt)

Đã gửi 24 November 2008 - 05:14 PM

Sub KieuChu()
Dim ChuP As Variant, Noidung As String
Dim ChuT As AcadText

Noidung = InputBox("Nhap noi dung chu:", "www.cadviet.com", "www.cadviet.com")

ChuP = ThisDrawing.Utility.GetPoint(, "Chon diem viet chu: ")
Set ChuT = ThisDrawing.ModelSpace.AddText(Noidung, ChuP, "2")
MsgBox "Chu cao la " & "2"
ChuT.Height = "5"
ChuT.ObliqueAngle = 0.2
ChuT.color = acRed
Set ChuT = Nothing
End Sub
Em cũng đã tìm thấy đoạn Code khác của phương thức AddText này rồi.Tuy nhiên vẫn rất cảm ơn bác!
  • 0

Email : anhtu2101@gmail.com



 


#4 tucdrom

tucdrom

    — T — U — N — A —

  • Members
  • PipPipPipPipPipPip
  • 497 Bài viết
Điểm đánh giá: 642 (tốt)

Đã gửi 24 November 2008 - 08:02 PM

Bạn chú ý về tên tiêu đề nhé, diễn đàn mà toàn câu hỏi kiểu này thì sau đó tìm kiếm thế nào được??

Tham khảo ở đây:

Sub KieuChu()
Dim ChuP As Variant, Noidung As String
Dim ChuT As AcadText

Noidung = InputBox("Nhap noi dung chu:", "www.cadviet.com", "www.cadviet.com")

ChuP = ThisDrawing.Utility.GetPoint(, "Chon diem viet chu: ")
Set ChuT = ThisDrawing.ModelSpace.AddText(Noidung, ChuP, "2")
MsgBox "Chu cao la " & "2"
ChuT.Height = "5"
ChuT.ObliqueAngle = 0.2
ChuT.color = acRed
Set ChuT = Nothing
End Sub

Em cũng đã cop đoạn code của bác về và F5 thử,nhưng nó vẫn chưa giải đáp được hết thắc mắc của em.Chắc em diễn đạt bác vẫn chưa hiểu rõ.Cách của bác mới chỉ tạo ra dòng text là"www.cadviet.com" nhưng text này là mặc định trong Style "Standard" với kiểu chữ là txt.shx ban đầu của Cad.Ý em là làm thế nào để mình tạo ra 1 dòng text mà text đó được gán trong 1 Style do mình tạo ra với font chữ khác(.VnTime,Times New Roman...) và chiều cao chữ đã được ấn định trong Style đó.Rất mong bác trả lời giúp em.Thanks
  • 0

Email : anhtu2101@gmail.com



 


#5 ndtnv

ndtnv

    biết lệnh minsert

  • Members
  • PipPipPipPipPipPip
  • 437 Bài viết
Điểm đánh giá: 384 (khá)

Đã gửi 10 December 2008 - 11:12 AM

Tham khảo VD sau, thay style bạn muốn active vào NewTextStyle
Sub Example_ActiveTextStyle()
Dim newTextStyle As AcadTextStyle
Dim currTextStyle As AcadTextStyle

' Return current text style of active document
Set currTextStyle = ThisDrawing.ActiveTextStyle
MsgBox "The current text style is " & currTextStyle.Name, vbInformation, "ActiveTextStyle Example"

' Create a text style and make it current
'Set newTextStyle = ThisDrawing.TextStyles.Add("TestTextStyle")
Set newTextStyle = ThisDrawing.TextStyles.Item("NewTextStyle")

ThisDrawing.ActiveTextStyle = newTextStyle
MsgBox "The new text style is " & newTextStyle.Name, vbInformation, "ActiveTextStyle Example"
' Reset the text style to its previous setting
ThisDrawing.ActiveTextStyle = currTextStyle
MsgBox "The text style is reset to " & currTextStyle.Name, vbInformation, "ActiveTextStyle Example"
End Sub
Các bạn tham khảo trong help của acad phần ActiveX and VBA Refence -> Code Example
  • 0