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

netcad-excel-alan-adi-degistir

sabangul67@gmail.com
Mayıs 17, 20257 dk okuma1 görüntülenme

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

Update Netcad Field Names Quickly with Excel 🚀


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.

This macro enables you to batch-update field names in your Netcad projects using an Excel spreadsheet. By entering current field names in column A and new field names in column B of your Excel file, you can quickly and accurately update fields in your Netcad project. It also offers additional options, such as transferring old names to GIS object names or classes, making it a time-saving and user-friendly solution for large-scale projects.


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.

Excel File Selection: The macro prompts the user to select an Excel file (.xls). This file should contain current field names in column A and new field names in column B. Options: Users can choose whether to transfer old names to GIS object names or classes. Field Selection: Fields are selected in Netcad, and the macro updates their names based on the Excel data. Result Notification: Upon completion, the macro informs the user how many fields were updated.
The macro supports up to 50,000 field names and operates with a user-friendly interface.


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 Macro, Excel Automation, Field Name Update, CAD Software, Automation Solutions, Netcad Field Update, Change Fields with Excel, Bulk Field Name Update, GIS Automation, Netcad Project Management


📝 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

Yazar

sabangul67@gmail.com

Bu yazarın yayınladığı diğer içerikleri inceleyebilirsiniz.

Tüm yazıları