Textbox icerisindekini makroda kullanma

Katılım
26 Ağustos 2023
Mesajlar
11
Excel Vers. ve Dili
Microsoft 365 64 Bit Türkçe
Altın Üyelik Bitiş Tarihi
26-08-2024
Merhaba arkadaşlar.

Excelde yeniyim egitimleri izleyerek bir kod yazdim ama hata aliyorum.

Sayfaya bir buton atadim butona tikladigimda sayfayi pdf olarak kaydedip dosya ismini textbox icerisinden almasini istiyorum nasil bir kod yazmam gerekir.
 
Katılım
20 Ekim 2021
Mesajlar
104
Excel Vers. ve Dili
TR 2016
Altın Üyelik Bitiş Tarihi
21-10-2022
Merhaba arkadaşlar.

Excelde yeniyim egitimleri izleyerek bir kod yazdim ama hata aliyorum.

Sayfaya bir buton atadim butona tikladigimda sayfayi pdf olarak kaydedip dosya ismini textbox icerisinden almasini istiyorum nasil bir kod yazmam gerekir.
Kod:
Private Sub CommandButton1_Click()
    Dim DosyaAdi As String
    Dim DosyaYolu As String
    Dim NewSheet As Worksheet
 
    DosyaAdi = Sheets("Sayfa1").OLEObjects("TextBox1").Object.Text
    DosyaYolu = Environ("USERPROFILE") & "\Desktop\" & DosyaAdi & ".pdf"
    
    Set NewSheet = ThisWorkbook.Sheets.Add
    
    Sheets("Sayfa1").Cells.Copy Destination:=NewSheet.Cells
    
    For Each obj In NewSheet.Shapes
        obj.Delete
    Next obj
    
    NewSheet.ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=DosyaYolu, _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
    Application.DisplayAlerts = False
    NewSheet.Delete
    Application.DisplayAlerts = True
    
    MsgBox "PDF dosyası kaydedildi."
End Sub
 
Katılım
26 Ağustos 2023
Mesajlar
11
Excel Vers. ve Dili
Microsoft 365 64 Bit Türkçe
Altın Üyelik Bitiş Tarihi
26-08-2024
Hocam hızlı cevabın için çok teşekkürler.

Kodu denedim fakat Worksheet sınıfının oleobjects özelliği alınamıyor diye hata verdi. kod içerisindeki sayfa 1 ve textbox1 yazan kısımları kendi dosyama göre değiştirdim ama olmadı
 
Katılım
26 Ağustos 2023
Mesajlar
11
Excel Vers. ve Dili
Microsoft 365 64 Bit Türkçe
Altın Üyelik Bitiş Tarihi
26-08-2024
Benim yazdığım kod bu şekildeydi hocam

Sub Pdfkaydet()

Path = Worksheets("Ayarlar").Range("B1").Text

Model = Worksheets("Material removal").Range("textbox52").Value

Seri = Worksheets("Material removal").Range("textbox51").Value

Worksheets("Material removal").ExportAsFixedFormat xlTypePDF, Filename:=Path & Model & "_" & Seri & ".pdf"

End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek dosya paylaşırsanız daha net cevaplar alabilirsiniz.
 
Katılım
26 Ağustos 2023
Mesajlar
11
Excel Vers. ve Dili
Microsoft 365 64 Bit Türkçe
Altın Üyelik Bitiş Tarihi
26-08-2024
merhaba altın üye oldum sanırım onaylanınca dosya yükleyebilirim.
 
Katılım
20 Ekim 2021
Mesajlar
104
Excel Vers. ve Dili
TR 2016
Altın Üyelik Bitiş Tarihi
21-10-2022
Benim yazdığım kod bu şekildeydi hocam

Sub Pdfkaydet()

Path = Worksheets("Ayarlar").Range("B1").Text

Model = Worksheets("Material removal").Range("textbox52").Value

Seri = Worksheets("Material removal").Range("textbox51").Value

Worksheets("Material removal").ExportAsFixedFormat xlTypePDF, Filename:=Path & Model & "_" & Seri & ".pdf"

End Sub
textbox1 nesnesi sayfanızın üzerindemi,bende herhangi bir hata vermeden çalışıyor
 
Katılım
26 Ağustos 2023
Mesajlar
11
Excel Vers. ve Dili
Microsoft 365 64 Bit Türkçe
Altın Üyelik Bitiş Tarihi
26-08-2024
textbox1 nesnesi sayfanızın üzerindemi,bende herhangi bir hata vermeden çalışıyor
Yok hocam bendeki textbox51 ve 52 olan kısımları almak istiyorum hatta ikisinin arasında _ olmasınıda istiyorum altın üyelik onaylandıktan sonra dosya paylaşımı yapabilirim.
 
Katılım
26 Ağustos 2023
Mesajlar
11
Excel Vers. ve Dili
Microsoft 365 64 Bit Türkçe
Altın Üyelik Bitiş Tarihi
26-08-2024
Merhabalar;

Dosyayı ekledim.Dosya içerisinde birden fazla çalışma sayfası var ben birtanesi için denedim ama aslında hepsi için gerekiyor. 1 tanesi olsa diğerleri içinde ben yapabilirim.Yapmak istediğim şey sayfaya eklediğim butona basınca dosyayı pdf olarak kaydetmesi ve dosya ismini tool type_serial no kısmında yazılanları alarak kaydetmesi şimdiden çok teşekkürler
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Profilinizde yazan ofis sürümü ve dili bilgisini bizlerin profilindeki gibi revize etmenizi rica ederim.

Excel Vers. ve Dili Turkce
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
Sub Pdfkaydet()
    Path = Worksheets("Ayarlar").Range("B1").Value & "\"
    Model = Worksheets("Material removal").Shapes("TextBox 52").TextFrame2.TextRange.Characters.Text
    Seri = Worksheets("Material removal").Shapes("TextBox 51").TextFrame2.TextRange.Characters.Text
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=Path & Model & "_" & Seri & ".pdf", _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
End Sub
 
Katılım
26 Ağustos 2023
Mesajlar
11
Excel Vers. ve Dili
Microsoft 365 64 Bit Türkçe
Altın Üyelik Bitiş Tarihi
26-08-2024
Deneyiniz.

C++:
Sub Pdfkaydet()
    Path = Worksheets("Ayarlar").Range("B1").Value & "\"
    Model = Worksheets("Material removal").Shapes("TextBox 52").TextFrame2.TextRange.Characters.Text
    Seri = Worksheets("Material removal").Shapes("TextBox 51").TextFrame2.TextRange.Characters.Text
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=Path & Model & "_" & Seri & ".pdf", _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
End Sub

Hocam çok teşekkür ederim ellerinize sağlık tam istediğim gibi çok sağolun.
 
Katılım
26 Ağustos 2023
Mesajlar
11
Excel Vers. ve Dili
Microsoft 365 64 Bit Türkçe
Altın Üyelik Bitiş Tarihi
26-08-2024
Merhabalar;

Yukarıda paylaşmış olduğum dosyaya kodu kullandım ve material removal olan sekmede çalıştı. Daha sonra kendim pneumatic olan sekmede kullandım onda da çalıştı fakat bugün ismi electric olan sekmede uygulamaya çalıştım ama hata veriyor hata resmini ekte iletiyorum. Sizce nerde hata yapmış olabilirim. Şimdiden çok teşekkürler.246214
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Path-Model-Seri verilerinden birisi boş olabilir mi?
 
Katılım
26 Ağustos 2023
Mesajlar
11
Excel Vers. ve Dili
Microsoft 365 64 Bit Türkçe
Altın Üyelik Bitiş Tarihi
26-08-2024
Yok hocam aynı yerdeler textbox 53 ve 52 de yazılı veriler , path zaten ortak ayrı bir sekmede sadece kayıt konumu için duruyor
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Peki hata mesajı nedir?

Mümkünse hata veren dosyanızı paylaşabilirmisiniz.
 
Katılım
26 Ağustos 2023
Mesajlar
11
Excel Vers. ve Dili
Microsoft 365 64 Bit Türkçe
Altın Üyelik Bitiş Tarihi
26-08-2024
Hata mesajını ve dosyanın son halini paylaştım hocam teşekkürler ilginiz için.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
TextBox nesnelerindeki ifadenin sonunda TAB boşluğu verildiği için sorun oluşmuş.

C++:
Sub Pdfkaydet3()
    Path = Worksheets("Ayarlar").Range("B1").Value & "\"
    Model = Trim(Replace(Worksheets("Electric").Shapes("TextBox 53").TextFrame2.TextRange.Characters.Text, vbTab, ""))
    Seri = Trim(Replace(Worksheets("Electric").Shapes("TextBox 52").TextFrame2.TextRange.Characters.Text, vbTab, ""))
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=Path & Model & "_" & Seri & ".pdf", _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
End Sub
 
Katılım
26 Ağustos 2023
Mesajlar
11
Excel Vers. ve Dili
Microsoft 365 64 Bit Türkçe
Altın Üyelik Bitiş Tarihi
26-08-2024
Hocam çok teşekkürler tekrar sorunum çözüldü elinize sağlık
 
Üst