AutoCAD VBA makro kodlarıyla yıldız çizen kodlar videolarda açıklandı.
17 Temmuz 2023 Pazartesi
4 Mayıs 2022 Çarşamba
Excel: Aktif satır ve sütun renklendirme
Bu işlem için üç farklı VBA makro kodu veriyorum.
Kodları deneyip uygun olanını kullanabilirsiniz.
Makro eklemek için önce aşağıda verilen makro kodunu kopyalayın.
Excelde sayfa adı(Sayfa1, Sayfa2 ...) üzerinde sağ tıklayın
Açılan menüde Kod görüntüle tıklayın.
3 Ocak 2021 Pazar
Vb ile ActiveX Bileşen Oluşturma-11: superText #8
Önceki bölümde oluşturduğumuz projeye devam ediyoruz. superText ActiveX kontrolüne yeni özellikler ekleyeceğiz.
Label(Etiket) bileşeni ile Caption(başlık) ekleme
Gelişmiş özelliklere sahip bir metin kutusu oluşturduk ancak dikkat ederseniz projelerde genelde metin kutusu ile birlikte solunda, sağında ya da üstünde bir Label(etiket) de eklenir.
Projelerimize Label ve superText kontrollerini ayrı ayrı
eklemektense Label'i superText bileşenine dahil etsek nasıl
olur? Daha kullanışlı olur tabii ki. Öyleyse başlayalım.
- Önceki bölümdeki proje dosyasını açın. Eğer proje dosyaları yoksa önceki bölümdeki linkten dosyayı indirebilirsiniz.
- Test formundaki bileşenleri silin.
- superText(superText.ctl) formunu açın. Shift+F7
- TextBox'ı aşağı taşıyıp üstünde kalan boşluğa Label ekleyin.
-
Label1'in özelliklerini ayarlayın
AutoSize: True
Left: 0
Top: 0
-
superText kontrolü forma eklediğimizde;
Label, sol üst köşede,
TextBox, Label'in 3px altında olacak.
9 Aralık 2020 Çarşamba
Vb ile ActiveX Bileşen Oluşturma-10: superText #7
Önceki bölümde kaldığımız yerden devam ediyoruz. superText ActiveX kontrolüne yeni özellikler ekleyeceğiz.
Önceki bölümde sihirbaz kullanarak Property Page(özellik sayfası) oluşturmuştuk. Sayfaya tüm özelliklerin eklenmediği görülüyor. Tümünü eklemeye de gerek yok zaten.
Özellik sayfasına manuel özellik ekleme
Manuel olarak sayfaya nasıl özellik eklenir?
Örnek olması açısından
sayfaya eklenmemiş olan 2 özellik ekleyerek bu sorunun cevabını bulalım.
- Önceki bölümdeki proje dosyasını açın. Eğer proje dosyaları yoksa önceki bölümdeki dosyayı indirebilirsiniz.
-
İlk olarak ekleyeceğimiz özellik Alignment (yaslama)
Bu özelliğe atanabilecek 3 değer var. 0: Sola, 1: Sağa, 2: Ortaya - Yazi formunu açın.
-
Alignment değerini aktarmak için bir açılır liste(ComboBox)
kullanabilirdik ancak kullanımını açıklamak için farklı olarak
OptionButton (Seçenek Butonu) kullanacağım.
OptionButton kullanmadan önce seçenekleri bir arada tutmak için form'a bir adet Frame ekleyin. - Frame1'in Caption özelliğine Alignment ya da Yaslama yazın.
-
Frame1 içine OptionButton ekleyin. Özelliklerini aşağıdaki
gibi değiştirin
Name: optAlignment
Caption: Sol - OptionButton'u kopyalayın. Frame1 seçili iken Ctrl+V ile yapıştırın.
- Bir uyarı çıkacak. Index oluşturmak için Evet tıklayın.
- 2. eklenen OptionButton'un Caption özelliğine Sağ yazın.
- Ctrl+V ile tekrar yapıştırın. 3. eklenen OptionButton'un Caption özelliğine Orta yazın.
8 Aralık 2020 Salı
Vb ile ActiveX Bileşen Oluşturma-9: superText #6
Önceki bölümde kaldığımız yerden devam ediyoruz. superText ActiveX kontrolüne yeni özellikler ekleyeceğiz.
Standart kontrollerin dışında bir kontrol eklediğinizde kontrol özelliklerinde (Custom) özelliği görmüşsünüzdür (Örneğin Microsoft Windows Common Controls).
Bu özelliği çift tıkladığınızda özellikleri ayarlayabileceğiniz bir pencere
(Property Pages) açılır.
Bu bölümde superText ActiveX
kontrolüne Property Page ekleyeceğiz.
Property Page Ekleme
- Önceki bölümdeki proje dosyasını açın. Eğer proje dosyaları yoksa önceki bölümdeki dosyayı indirebilirsiniz.
4 Aralık 2020 Cuma
Vb ile ActiveX Bileşen Oluşturma-8: superText #5
Önceki bölümde kaldığımız yerden devam ediyoruz. superText ActiveX kontrolüne yeni özellikler ekleyeceğiz.
- Önceki bölümdeki proje dosyasını açın. Eğer proje dosyaları yoksa önceki bölümdeki dosyayı indirebilirsiniz.
Şimdi bu eksik olan özellikleri ekleyelim.
Önceki bölümlerdeki
bilgilerden faydalanarak her bir eksik özelliği sırasıyla ekleyebiliriz ancak
daha kolay bir yöntem deneyeceğiz.
-
Önce eksik olan özellikleri tespit edelim.
Textbox'da olup superText'da olmayan özellikler(properties)
1 Aralık 2020 Salı
Vb ile ActiveX Bileşen Oluşturma-7: superText #4
Önceki bölümde kaldığımız yerden devam ediyoruz. superText ActiveX kontrolüne yeni özellikler ekleyeceğiz.
- Önceki bölümdeki proje dosyasını açın. Eğer proje dosyaları yoksa önceki bölümdeki dosyayı indirebilirsiniz.
- Hakkinda prosedürünü aşağıdaki kodlar ile değiştirin.
Sub Hakkinda()
MsgBox "superText ActiveX Kontrol" & vbCrLf & "©2020 Mesut Akcan" & vbCrLf & _
"Bu kontrol TextBox kontrolüne yeni kullanışlı özellikler eklenerek geliştirilmiştir.", , _
"superText Hakkında"
End Sub
Bu kodları biraz geliştirelim.
- Kontrol adını superText diye yazmak yerine UserControl.Name kullanalım.
28 Kasım 2020 Cumartesi
Vb ile ActiveX Bileşen Oluşturma-6: superText #3
Önceki bölümde kaldığımız yerden devam ediyoruz.
superText ActiveX
kontrolüne yeni özellikler ekleyeceğiz.
- Önceki bölümdeki proje dosyasını açın. Eğer proje dosyaları yoksa önceki bölümdeki dosyayı indirebilirsiniz.
-
Önceki bölümde, projede test için kullandığımız Form1'i
burada kullanmayacağız. Form1'i projeden kaldırmak için CTRL+R
ile Project penceresini açıp Form1(Form1.frm) üzerinde sağ
tıklayıp Remove Form1.frm tıklayın. - File / Add Project... ile ActiveX kontrolü test edeceğimiz yeni Standart EXE projesi ekleyin. (Project2)
- Project2'yi başlangıç projesi yapmak için Project penceresinde Project2 üzerinde sağ tıklayıp Set As Startup tıklayın.
-
Toolbox'daki superText kontrolün pasif olduğunu göreceksiniz.
superText kontrolünü Form1'e eklemek için tıkladığınızda bir uyarı
gelecek
This control is private to its project. To be public, a control must be
Önceki projede superText bulunduğu proje içinde sorunsuz kullanılabiliyordu ancak şimdi bulunduğu projeden farklı bir projede kullanmaya çalıştığımızda hata verdi.
in an ActiveX Control project, and its Public property must be True.
Çünkü superText'in kapsamı projeye özeldir(Private), bulunduğu proje dışı kullanma izni yok. Bunun değiştirilip genel erişime(Public) izin verilmesi gerekir. Şimdi bu sorunu giderelim. -
Önce Project1'in proje türünü ve adını değiştirelim.
Project1 üzerinde sağ tıklayıp Project1 Properties... tıklayın. -
Açılan pencerede aşağıdaki ayarları yapın.
Project type: ActiveX Control
Startup Object: (None)
Project Name: SuperTextKontrol
OK tıklayın. Bir uyarı gelecek Tamam tıklayın.
19 Kasım 2020 Perşembe
Vb ile ActiveX Bileşen Oluşturma-5: superText #2
Önceki bölümde oluşturduğumuz projedeki superText kontrolünü geliştirmeye devam ediyoruz.
Önceki bölümde, son aşamada bir sorun olduğunu belirtmiştim. Projeyi çalıştırdığınızda göreceksiniz ki superText'in Metin özelliğine girdiğimiz bilgiler program çalıştırınca kayboluyor. Çalışmayı durdurunca da geri gelmiyor. Bu hatayı giderelim.
PropertyBag
ActiveX kontrollerin özelliklerinin tutulduğu bir nesne var. Nesnenin adı
PropertyBag. Bu nesnenin fonsiyonları ile özellik değerleri yazılıp
okunabilir.
WriteProperty fonksiyonu özellik değeri okumak
için,
ReadProperty ise özellik değeri yazmak içindir.
- superText kod penceresine aşağıdaki kodları ekleyin
Public Sub UserControl_ReadProperties(PropBag As PropertyBag)
Text1.Text = PropBag.ReadProperty("Metin", UserControl.Name)
End Sub
Public Sub UserControl_WriteProperties(PropBag As PropertyBag)
Call PropBag.WriteProperty("Metin", Text1.Text, UserControl.Name)
End Sub
- Şimdi projedeki test formuna(Form1) superText kontrolünden ekleyin, Metin özelliğini değiştirip çalıştırın.
-
Göreceksiniz ki artık Metin özelliği standart Textbox'ın
Text özelliği gibi çalışıyor.
Metin özellik değerleri kaybolmuyor.
ReadProperties özelliği okumaya çalıştığımızda,
WriteProperties ise özelliğe yazmaya çalıştığımızda çalışır. -
Test formunun Click olayında aşağıdaki kodu deneyebilirsiniz.
Bu kodlar ile superText'in Metin özelliğine değer atanmaktadır.
Private Sub Form_Click()
superText1.Metin = "Merhaba"
End Sub
Önceki bölümde superText kontrolümüzün Metin özellik değerini kontrolün Name değerinden alarak superText olarak yazdırmıştık.
17 Kasım 2020 Salı
Vb ile ActiveX Bileşen Oluşturma-4: superText #1
Bu bölümde çok sık kullandığımız bir kontrol olan Textbox'un özelliklerini geliştirerek yeni bir ActiveX kontrol oluşturacağız.
-
Bu sefer farklı bir yol izleyeceğiz. Önceki bölümlerde önce
ActiveX kontrol sonra Standart EXE projesi oluşturmuştuk. Bu
bölümde ise öncekilerin tersi olacak.
Önce Standart EXE projesi sonra aynı projeye ActiveX kontrol eklenecek. - Menüden File / New Project
- New Project ekranında Standart EXE'yi çift tıklayın. Yeni bir standart form penceresi açılacak. Burası ActiveX kontrolü test etmek için.
-
Menüden Project / Add User Control tıklayın.
Alternatif olarak Project penceresinde Sağ tıkla / Add / User Control
- Açılan pencerede User Control'ü çift tıklayın.
14 Kasım 2020 Cumartesi
Vb ile ActiveX Bileşen Oluşturma-3: Çerçeve(Frame)
Bu bölümde bir çerçeve oluşturacağız. Standart kontrollerden Frame'e benzer bir kontrol. Ama aynı işlevde olmayacak. Çünkü öğrenim amaçlı projeler oluşturduğumuzdan kontrollerde fazla işlev olmayacaktır.
Başlayalım.
- Visual Basic'i çalıştırın. Menüden File / New Project
- Açılan pencere ActiveX Control'ü çift tıklayın.
- Yeni bir form penceresi açılacak
- F4 e basarak form özellikleri penceresini açın.
- Formun Name özelliğini Cerceve olarak değiştirin. Çerçeve olarak da girebiliriz bir sorun oluşturmaz ancak kodlamada genel alışkanlık; nesne ve değişken isimlerinde İngilizce karakterler kullanılır.
-
Form üzerine 2 dikey, 2 de yatay olmak üzere 4 adet Line (çizgi)
ekleyin.
Çizgilerin boyu ve konumu önemli değil. Kodlarla gerekli boyut ayarlanacak ve gerekli konuma yerleştireceğiz. - Formdaki çizgilerin Name(Ad) özelliğini aşağıdaki resme göre değiştirin.
- sol ve ust çizgiyi seçin, BorderColor özelliğini &H00FFFFFF& olarak,
13 Kasım 2020 Cuma
Vb ile ActiveX Bileşen Oluşturma-2: Dijital Saat
Bu bölümünde yeni bir ActiveX kontrol oluşturacağız.
Bu
kontrolü Visual Basic projelerde ocx olarak yada ctl olarak
kullanmayı öğreneceğiz.
Önceki bölümdeki uygulamaları yapmadan bu
bölüme geçmemeniz tavsiye olunur.
Dijital Saat
- Visual Basic'i çalıştırın.
- Açılan New Project penceresinde ActiveX Control'ü çift tıklayın. Yeni bir form penceresi açılacak
- F4'e basarak form özellikleri penceresini açın.
- Formun Name özelliğine baktığımızda UserControl1 yazdığını göreceğiz.
- Bunu ctl_DSaat olarak değiştirin
- Ctrl+R'ye basarak Project penceresinde de ismin değiştiğini görün.
12 Kasım 2020 Perşembe
Vb ile ActiveX Bileşen Oluşturma-1: Fırıldak
Bu yazı serisinde Visual Basic 6 ile ActiveX bileşen oluşturmayı açıklayacağım.
ActiveX nedir?
ActiveX bir teknoloji grubuna verilen isimdir. Bu grubu oluşturan teknolojiler, programcıların uygulamalarını daha hızlı şekilde geliştirebilmelerini, daha önce oluşturulmuş bileşenleri, tekrar kod yazmak zorunda kalmadan uygulamalarında kullanabilmelerini sağlamaktadır.
Visual Basic ile ActiveX bileşen oluşturma
Yapacağımız ActiveX bileşen, yandaki resimde olduğu gibi oklara tıklanarak
metin kutusundaki sayıyı arttıracak ya da azaltacak. Birçok programın ayar
penceresinde buna benzer şeylerden rastlamışsınızdır.
Visual Basic sürümlerini indirmek için https://winworldpc.com/product/microsoft-visual-bas/60
- Visual Basic 6'yı çalıştırın.
- Vb'yi çalıştırdığınızda New Project ekranıyla karşılaşacaksınız.
-
Bu pencerede ActiveX Control'ü tıklayıp Aç butonunu tıklayın
ya da çift tıklayın.
Eğer böyle bir pencere gelmezse menüden File / New project CTRL+N tıklayın.
12 Mart 2020 Perşembe
AutoCAD ile VBA makro kullanımı #5-5
Autocad VBA Makro Kodlarını Çalıştırma Yöntemleri:
7) Userformda komut butonu ile makro çalıştırma
- VBA Editöründe menüden Insert / UserForm tıklayın ya da Proje Ağacında; Sağ tıkla / Insert / UserForm
20 Haziran 2019 Perşembe
AutoCAD ile VBA makro kullanımı #4-2
Bu bölümde aşağıdaki başlıklar olacak.
- VBA kodlarını çizim dosyasına gömme (Embed)
- Çizim dosyasında gömülü kodları ayırma (Extract)
- VBA kodları Dışa aktarma (Export)
- VBA kodları İçe aktarma (Import)
- Kodları belleğe yükleme / kaldırma
VBA kodlarını çizim dosyasına gömme (Embed)
18 Haziran 2019 Salı
AutoCAD ile VBA Makro kullanımı #4-1
AutoCAD ile VBA Makro kullanımı playlist:
https://www.youtube.com/playlist?list=PLte7FEGCpudNwNr71-FhUS1g3FAhnNPjD
Bu bölümü iki ayrı sayfa olarak hazırladım.
Bir önceki yazımda kullandığım eksen çizen VBA kodları geliştireceğim.
Eski kodlarda yapacağım iyileştirmelerde şunlar olacak:
17 Mart 2018 Cumartesi
AutoCAD ile VBA Makro Kullanımı #3
AutoCAD ile VBA Makro kullanımı ile ilgili uygulamalar:
Videoda kullanılan kodlar:
Autocad VBA ile Çizgi Rengini Değiştirme:
Sub CizgiRengiDegis() 'Makro: Mesut Akcan 17/3/2018 mesutakcan.blogspot.com Dim cizgi As AcadLine Dim n1(2) As Double, n2(2) As Double n1(0) = 0 'X n1(1) = 0 'Y n2(0) = 50 'X n2(1) = 70 'Y Set cizgi = ModelSpace.AddLine(n1, n2) cizgi.color = acCyan Regen acActiveViewport n1(0) = 10 'X n1(1) = 20 'Y MsgBox "devam" cizgi.StartPoint = n1 cizgi.color = 220 End Sub
12 Aralık 2017 Salı
AutoCAD ile VBA makro kullanımı #1
AutoCAD özelliklerini geliştirmek ve isteğe özel uygulamalar ve işlevler kazandırmak için VBA makroları kullanılabilir.
VBA kısaltmasının açılımı Visual Basic for Application(Uygulamalar için Visual Basic)dir.
BASIC öğrenilmesi ve kodlaması en kolay olan programlama dilidir. Microsoft Visual Studio Programlama seti içerisinde Microsoft Visual Basic bulunur. Bununla Windows uygulamaları geliştirip derleyebilir ve çalışabilir EXE dosyaya dönüştürebilirsiniz.
21 Ağustos 2016 Pazar
akcanSoft Internet Bağlantı Kesici v1.1
Tanımlama
Program belirteceğiniz tarih ve saate göre ya da kalan süreye göre internet bağlantınızı keser.İsterseniz; yapacağınız ayarlamalarla;
- Kesilmeye belli bir süre kala beep uyarısı ve(ya) pencereyi öne getir uyarısı alabilirsiniz
- Kesmek için onay istemesini sağlayabilirsiniz.











