|
|
#1 |
|
Forum Üyesi
Kayıt Tarihi: 10-05-2003
Mesaj: 358
|
AutoCAD'den EXCEL'e bilgi transferi
Benim de üç sorum olacak...
1- Planlarımızda, paftanın bir köşesinde MAHAL LİSTESİ ve her mahalin karşısında ALAN BİLGİSİ var... Bu MAHAL LİSTESİ ve ALAN BİLGİSİNİ bir excel dosyası içine nasıl TEXT olarak alabilirim... Teker teker COPY PASTE yapacak durumda değilim... 2- Bir biçimde bu bilgileri etkileşimli olarak alabilir miyim? Projede "Mahal Adı" ve/veya "Alan Bilgisi" değiştiğinde EXCEL'de de değişecek biçimde... Bunun için ek bir yazılım mı yüklemek gerekiyor? 3- Daha da ileri gideyim.. Bir LAYER açarak o layerda göstereceğim (mahalleri sınırlayan) POLYLINE çerçevelerin ALAN ve ÇEVRE bilgisini EXCEL'de oluşturacağım tabloya bilgi olarak etkileşimli olarak iliştirebilir miyim? |
|
|
|
|
|
#2 |
|
Arkitera Üyesi
Kayıt Tarihi: 17-08-2005
Mesaj: 75
|
vba yazilabilir.
bu konuyla ilgili daha once link vermistim, ingilizce olduğu için hafif bir itiraz olmuştu. fakat gercekten cok net yazilmis ve ingilizce cok iyi bilinmese bile benim burda anlatacagimdan daha anlasilir olacaktir. neyse en azından bu başlık altında da bulunsun: http://usa.autodesk.com/adsk/servlet...linkID=2475176 aslinda bu soru icin butun 6 makaleyi okumaya gerek yok. autocad devamli gelisiyor ve makro gerektirmeyen bir yol belki vardir, fakat bulunamazsa ben vba konusunda foruma biseyler yazabilirim. |
|
|
|
|
|
#3 |
|
Arkitera Üyesi
Kayıt Tarihi: 17-08-2005
Mesaj: 75
|
'Gene bu baslik altinda dursun diye bir giris yaziyorum.
'kendi notlarimi da forumda tutmus olurum ![]() ' bu isaretten (kesme isareti) sonra yazilanlar "comment"(yorum) olup 'programi etkilemez. butun yaziyi copy-paste edebilirsiniz yani. 'AutoCadde alt F11, ya da Tools->Macro->Visual Basic Editor 'secip editore gelinir. 'Editorde: 'Yukaridaki menuden Tools->references ile excel kutusu isaretlenmelidir. 'Yukardaki menuden Insert-> module ile 'yazmaya baslanir. 'ayrintilara, baska yontemlere girmiyorum, '"sub" diyerek modulun ismini yaziyoruz 'basladi: Kod:
Sub ExceleYaz() Kod:
Dim ExApp As Excel.Application 'bu degiskene deger atiyorum: (set dedim dikkat ediniz) Kod:
Set ExApp = GetObject(, "Excel.Application") '((degiskenlerin ismini istediginiz gibi yaziyorsunuz fakat aslinda 'bir usulu vardir; diger programcilar da anlasin diye, ya da bizzat 'kendiniz karistirmayin diye bir standartlasma gelismistir. o konuya 'giremiyorum simdi.)) Kod:
Dim WS As Excel.Worksheet 'sheetleri isimleriyle, dosyadaki yerleriyle secmeye girmiyorum. Kod:
Set WS = ExApp.ActiveSheet() Kod:
Dim sayi As Integer sayi = 5 'simdi exceldeki acik sheet'te bir kutuya (a1) sayi gireyim: Kod:
WS.Range("a1").Value = sayi
Kod:
WS.Cells(1, 2).Value = "yazi"
WS.Range("a2:a8").Value = sayi + 1
'excele yazmak boyle. 'fakat yazilacak seyi de belirlemek lazim, oyle degil mi. 'cizimden yazilacak nesneyi almak lazim. 'mimar degilim, yazilmasi 'istenen seyin ne sekilde cizimde bulundugunu anlayamadim. 'bunu editor yaziyor sagolsun: Kod:
End Sub |
|
|
|
|
|
#4 |
|
Arkitera Üyesi
Kayıt Tarihi: 17-08-2005
Mesaj: 75
|
'Kisaca ve derli toplu hali bu kadarcik:
Kod:
Sub ExceleYaz()
Dim ExApp As Excel.Application
Dim WS As Excel.Worksheet
Dim sayi As Integer
Set ExApp = GetObject(, "Excel.Application")
Set WS = ExApp.ActiveSheet()
sayi = 5
WS.Range("a1").Value = sayi
WS.Cells(1, 2).Value = "yazi"
WS.Range("a2:a8").Value = sayi + 1
End Sub
|
|
|
|
![]() |
| Yerimi olarak kaydedin |
| Şu an bu konuyu izleyen aktif kullanıcılar: 1 (0 üye ve 1 misafir) | |
| Konu Araçları | |
| Modları Görüntüle | |
|
|