Açılan kutuda noktadan sonraki uzantıya göre

Katılım
7 Kasım 2006
Mesajlar
109
Excel Vers. ve Dili
2003
Açılan kutuda noktadan sonraki uzantıya göre alta bulunan uzantı metin kutusuna word yada excel yazdırmaya çalıştım ama olmadı.

Private Sub KONU_AfterUpdate()
If Me.KONU = " " & KONU.Value & ".doc" Then UZANTI = "WORD"
If Me.KONU = " " & KONU.Value & ".xls" Then UZANTI = "EXCEL"
End Sub

Hatatı nerede yaptığımı ve doruyu gösterirseniz sevinirim.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın kerrim,

Kodları şu şekilde değiştirin:

Kod:
Private Sub KONU_AfterUpdate()
Dim strUzantı, strAra As String
Dim a As Long, x As Integer
strUzantı = Me.KONU
a = Len(strUzantı)
For x = 1 To a
strAra = Mid(strUzantı, x, 1)
    If strAra = "." Then
        str1 = Mid(strUzantı, x + 1, 3)
    End If
Next x
    If str1 = "xls" Then
        Me.UZANTI = "Excel"
    Else
        Me.UZANTI = "Word"
    End If
End Sub
Burada önce strUzantıya Konu açılan kutusunun değerini atıyoruz. sonra bu kelimenin kaç karakterden oluştuğunu buluyoruz (a). Döngü kullanarak baştan başlayarak tüm harfleri "." ile karşılaştırıyoruz. bulduğumuzda nokta sonrası üç karakteri str1 e atıyoruz.
Eğerli bir kontrolle xls veya doc a göre Uzantıya karşılık gelen dosya türünü yazdırıyoruz.

İyi çalışmalar:)
 
Katılım
11 Mart 2007
Mesajlar
44
Excel Vers. ve Dili
Türkçe
bağayı uzatmışsın arkadaşım gerçi soruda noktadan sonra diye sormuş ama uzantı zaten son üç harf şöyle yazsak daha kolay olur kanaatindeyim

Kod:
Private Sub KONU_AfterUpdate()
If Right(Me.KONU, 3) = "xls" Then

        Me.UZANTI = "Excel"
    Else
        Me.UZANTI = "Word"
    End If
End Sub
yada 4 harfli uzantıları da dahil etmek için

Kod:
Private Sub KONU_AfterUpdate()
If Right(Me.KONU, 4) = ".xls" Then

        Me.UZANTI = "Excel"
    Else if Right(Me.KONU, 4) = "html" Then
 Me.UZANTI = "Explorer"
...
...
... 

   End If
End Sub
 
Son düzenleme:
Katılım
7 Kasım 2006
Mesajlar
109
Excel Vers. ve Dili
2003
Çok teşekkür ederim arkadaşlar.Sayenizde öğrenmeye devam ediyoruz.
 
Üst