Home / Netcad Makro / Netcad-Macro-Polyline / Excel’den Alan Adı Değiştirme Makrosu ( Change Field Names from Excel Macro )

Excel’den Alan Adı Değiştirme Makrosu ( Change Field Names from Excel Macro )

Excel ile Netcad Alan İsimlerini Hızlıca Güncelleyin 🚀


Bu makro, Netcad projelerinizdeki alan (field) isimlerini Excel tablosu kullanarak toplu bir şekilde değiştirmenizi sağlar. Excel dosyanızda, A sütununa mevcut alan isimlerini, B sütununa ise yeni alan isimlerini girerek, Netcad projenizdeki alanları hızlı ve hatasız bir şekilde güncelleyebilirsiniz. Ayrıca, eski isimleri GIS adına veya sınıfına aktarma gibi ek seçenekler sunar. Bu, büyük ölçekli projelerde zaman kazandıran, kullanıcı dostu bir çözümdür.


Nasıl Çalışır (How Does It Work)

Excel Dosyası Seçimi: Makro, kullanıcıdan bir Excel dosyası (.xls) seçmesini ister. Bu dosyada, A sütununda mevcut alan isimleri, B sütununda yeni alan isimleri yer almalıdır. Seçenekler: Kullanıcı, eski isimleri GIS adına veya sınıfına aktarmak isteyip istemediğini belirtebilir. Alan Seçimi: Netcad’de alan objeleri seçilir ve makro, Excel’deki verilere göre bu alanların isimlerini günceller. Sonuç Bildirimi: İşlem tamamlandığında, kaç alanın güncellendiği kullanıcıya bildirilir.
Makro, 50.000’e kadar alan ismini destekler ve kullanıcı dostu bir arayüzle çalışır.


Etiket ( Labels )

Netcad Makro, Excel Otomasyon, Alan Adı Değiştirme, CAD Yazılım, Otomasyon Çözümleri, Netcad Alan Güncelleme, Excel ile Alan Değiştirme, Toplu Alan Adı Güncelleme, GIS Otomasyon, Netcad Proje Yönetimi


📝 Netcad NVB Code

VB
Sub Main
Dim I,J,O,SEL,xls,XLSPATH,ALAN,DEG,CL,bd,U,V,R,W
DIM NO(50000,2)

'U=MSGBOX (" Bu makronun sağlıklı çalışması için  " & chr(10) & " 1. Sütuna ( A Sütunu ) Netcad projenizdeki alan isimlerini" & chr(10) & " 2. Sütuna ( B Sütunu ) Yeni Alan isimlerini" & chr(10) & " giriniz.",VBYESNO,"Excelden Alan Adı Değiştir")
' Mesaj kutusu, kullanıcıya Excel dosyasını nasıl hazırlayacağını bildirir
' A message box informs the user how to prepare the Excel file

'IF U<>6 THEN EXIT SUB
'CL=0:U=0:R=0 :DEG = ""

  set xls = CreateObject("excel.application")
  set BD = Netcad.NewBDialog("Excelden Alan Adı Değiştirme...")
  bd.PutPrompt "- XLS Formatındaki Excel dosyasında 1.Sütuna(A) Netcad projesindeki alan isimlerini "
  bd.PutPrompt "- 2.Sütuna(B) yerine yazılacak yeni alan isimlerini giriniz ve adımları izleyiniz. "
  ' Kullanıcıya talimatları gösteren bir diyalog kutusu oluşturulur
  ' A dialog box is created to display instructions to the user
  
  BD.GetFileName "item7","Excel Dosyasını Seçiniz...","D:\","Excel Dosyalari|*.xls|Tum Dosyalar|*.*","xls"
  BD.GetCheck "item1", "Eski İsimleri GIS Adına Aktar", 0
  BD.GetCheck "item2", "Eski İsimleri GIS Sınıfına Aktar", 0
  ' Excel dosyasını seçmek için dosya gezgini ve ek seçenekler sunulur
  ' A file explorer and additional options are provided for selecting the Excel file
  
 Dim SEC1,SEC2 
 if BD.showmodal then
    xlspath = BD.ValueByName("item7")
     SEC1 = BD.ValueByName("item1")
     SEC2 = BD.ValueByName("item2")
  else
    exit sub
  end if
  set BD = Nothing
  xls.workbooks.open(xlspath)
  xls.range("A1").select

 FOR U=1 TO 50000
   CL=CL+1
   NO(U,1)="*" & XLS.CELLS(U,1)
   NO(U,2)=XLS.CELLS(U,2)
 IF  NO(U,2)="" THEN   NO(U,2)=0
 IF  NO(U,1)="*" THEN  U=50000
 NEXT
 ' Excel’deki veriler okunur ve bir diziye aktarılır
 ' Data from Excel is read and stored in an array
 xls.quit
   MSGBOX CL-1  & " adet Alanı Adı Exceldeki gibi değiştirilecek" & chr(10) & "   Değişmesini istediğiniz alanları Seçiniz"
   ' Kullanıcıya kaç alanın değiştirileceği bildirilir
   ' The user is informed how many fields will be updated
  with Netcad
    set SEL = .NewSelectionSet
    set o = .NewObject

    if SEL.SELECT("Alan Objelerini Seçiniz...",array(opline)) then

      for i = 0 to SEL.NE-1
        j = SEL.GetSelectedObject(i, o)
        alan =  o.pname
       
   '  MSGBOX   ":" & alan & ":"
   ' Her bir alan objesinin ismi kontrol edilir
   ' The name of each field object is checked

 FOR V=1 TO CL
       W=NO(V,1)
 if  W ="*" & alan then
            o.PNAME =  NO(V,2)
             if SEC1=1 then o.objname = ALAN
              if SEC2=1 then o.cls = ALAN 
            .putobject j, o
        NO(V,1)="**"
    R=R+1
 'MSGBOX  alan & " : " & NO(V,1) &      " : " & NO(V,2)
      V=U
end if
       NEXT

      next
    SEL.RedrawAndRewind
    end if

    set SEL = nothing
    set o = nothing
  end with

MSGBOX R &   " adet  Alan Adı Değiştirildi"
' İşlem tamamlandığında değiştirilen alan sayısı bildirilir
' The number of updated fields is reported upon completion
end sub
VB

netcad-excel-alan-adi-degistir

⚠️ Dikkat! Netcad Makrosu Kullanımı Hakkında Bilgilendirme

Makroyu kullanmadan önce lütfen aşağıdaki uyarıları dikkatlice okuyunuz:

• Obje sayısı yüksekse işlem uzun sürebilir ve Netcad yazılımı yanıt veremez hale gelebilir.
• Bu nedenle tüm projelerinizi önceden yedeklemeniz önemle tavsiye edilir.
• Makro çalıştıktan sonra işlemi geri almak mümkün olmayabilir.
Makrolar periyodik olarak güncellenmektedir; sayfamızı takip ederek güncel sürümleri kullanmaya özen gösteriniz.

💾 Makrolar yalnızca Netcad yazılımında çalışır ve .nps formatında sunulur. Bu format düzenlenemez; özelleştirme talepleriniz için bizimle iletişime geçebilirsiniz.

✉️ Görüş, öneri ve hata bildirimleri için: sabangul67@gmail.com

⚙️ Bu makrolar Kadastro, 2B, Orman, Kamulaştırma, Değerleme, CBS, Halihazır Harita, İmar Planı, Etüt-Proje gibi birçok alanda kullanılabilir.

🔐 Makrolar e-posta eki veya sosyal medya üzerinden paylaşılmaz. Talepte bulunmanız durumunda yalnızca e-posta adresinize bilgilendirme yapılır. Makrolar yalnızca internet sitemiz üzerinden paylaşılır.

📥 Makroları indirerek kullanım sorumluluğunu kabul etmiş sayılırsınız. Oluşabilecek tüm sorunlar kullanıcı sorumluluğundadır.
Etiketlendi: