Skip to main content

AccessTr.neT


Word Şablonunda Satır Silme

Word Şablonunda Satır Silme

Çözüldü #1
Hocam 
Word şablonunda veri gönderirken yer imine/imlerine  gönderilecek kayıt yoksa o yer iminin bulunduğu satırı/satırların silinmesini (arada boşluk kalmamasını) istiyorum bu sildirmeyi sildirmeyi nasıl yaparız kullanacağımız kod nedir yardımcı olabilirmisiniz
.rar Ozan Hoca.rar (Dosya Boyutu: 2,16 MB | İndirme Sayısı: 1)
Son Düzenleme: 02/08/2018, 14:11, Düzenleyen: bibib.
Cevapla
#2
Daha önceki konunuza eklediğim kodu kullanıyorsanız,


   Dim WordApp As Object
   Dim strTemplateLocation As String
   Dim GMesaj As Long
   Dim YerimiKontrol As Integer
   
   YerimiKontrol = 1
   GGecerliBelgeYolu = CurrentProject.path & "\" & SM_Kimlik & "_Evrak.doc"
   
       If FileExists(GGecerliBelgeYolu) = True Then
       
        GMesaj = MsgBox(Me.SM_Kimlik & "Sayılı Uzlaştırma Raporu daha önce oluşturulmuş. Yeni Belge Oluşturulsun mu?" & Chr(13) & Chr(10) & "Evet= Yeni Belge Oluştur." & Chr(13) & Chr(10) & "Hayır= Eski Belgeyi Aç." & Chr(13) & Chr(10) & "İptal= İşlemden Vazgeç. ", vbYesNoCancel + vbQuestion, "BİLGİ")

            Select Case GMesaj
                Case vbYes
                GoTo 200
                Case vbNo
                Set WordApp = CreateObject(Class:="Word.Application")
                WordApp.Visible = True
                AppActivate "Microsoft Word"
               
                WordApp.Documents.Open FileName:=GGecerliBelgeYolu
            
                Exit Sub
                Case vbCancel
                Exit Sub
            End Select
        End If
   
   
200


   strTemplateLocation = CurrentProject.path & "\uzlastirma_raporu.dot"
   

    
    
   On Error Resume Next
   Set WordApp = GetObject(, "Word.Application")
   If err.Number <> 0 Then
     Set WordApp = CreateObject("Word.Application")
   End If
  On Error GoTo ErrHandler
   
   
   WordApp.Visible = True
   WordApp.WindowState = 1
   
   
   Set oWdoc = WordApp.Documents.Add(Template:=strTemplateLocation, NewTemplate:=False)
   
  
    
   DoEvents
   WordApp.Activate
   
    Set qdf = CurrentDb.QueryDefs("srg_kayitkisiler")
    qdf![Forms!Kayıt_Giriş!SM_Kimlik] = [Forms]![Kayıt_Giriş]![SM_Kimlik]
     
    Set rs = qdf.OpenRecordset()
    
    Dim strCriteria As String
    
    Set db = CurrentDb
    
    
    WordApp.ActiveDocument.Bookmarks("uzlasno").Select
    WordApp.Selection.Text = Space(2) & Me.Uzlaştırma_No_Giriş
    WordApp.ActiveDocument.Bookmarks("sorusturno").Select
    WordApp.Selection.Text = Space(2) & Me.C_B_Sorusturma_No_Giriş

    

    
        With rs
                .MoveFirst
    '        If .RecordCount <> 0 Then
                .MoveLast
                .MoveFirst
                iRecCount = .RecordCount + 1

                iFldCount = 2
                TabloSutun = 2
                TabloSatir = 4
                
                For I = 1 To .RecordCount
                
                
                If rs!Teklif_Uzlasma_Yapılan = "Müdafi" Or rs!Teklif_Uzlasma_Yapılan = "Vekil" Then
                
                    TabloSatir = 5
                
                End If
                
                
                WordApp.ActiveDocument.Bookmarks("katilanlar" & I).Select
                
                         
                WordApp.ActiveDocument.Tables.Add Range:=WordApp.Selection.Range, NumRows:=TabloSatir, NumColumns:= _
                                                TabloSutun, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
                                                wdAutoFitFixed

                WordApp.ActiveDocument.Tables(I).Borders.Enable = False
     
                Set oWordTbl = oWdoc.Tables(I)
               
                    oWordTbl.Columns(1).Width = (220)
    
                    oWdoc.Tables(I).Cell(1, 1) = Nz(rs!Teklif_Uzlasma_Yapılan, "")
                    oWdoc.Tables(I).Cell(1, 1).Range.Font.Bold = True
                    oWdoc.Tables(I).Cell(1, 1).Range.Font.Underline = True
                    oWdoc.Tables(I).Cell(2, 1) = Space(7) & "Adı ve Soyadı"
                    oWdoc.Tables(I).Cell(2, 2) = ":" & Nz(rs!Sphl_Adı_Soyadı, "")
                    
                    oWdoc.Tables(I).Cell(3, 1) = Space(7) & "T.C. kimlik numarası"
                    oWdoc.Tables(I).Cell(3, 2) = ":" & Nz(rs!Sphl_TC_kimlik_numarası, "")
                    
                    oWordTbl.Cell(4, 1) = Space(7) & "Adresi"
                    oWordTbl.Cell(4, 2) = ":" & Nz(rs!Sphl_Adresi, "")
                    
                    If rs!Teklif_Uzlasma_Yapılan = "Müdafi" Or rs!Teklif_Uzlasma_Yapılan = "Vekil" Then
                        oWordTbl.Cell(5, 1) = Space(7) & "Kayıtlı olduğu baro ve sicil numarası"
                        oWordTbl.Cell(5, 2) = ":" & Nz(rs!Sphl_Baro_Sicil, "")
                    End If
                
                    .MoveNext
                    YerimiKontrol = YerimiKontrol + 1
                Next I
                           
                For A = YerimiKontrol To 7
                
                 oWdoc.Bookmarks("katilanlar" & A).Delete
                
                Next
                

 
               
          End With
   
'   If FolderExists(CurrentProject.path & "\" & Left(Me.is_adi, 25)) = False Then
'        MkDir CurrentProject.path & "\" & Left(Me.is_adi, 25)
'    End If
   
   oWdoc.SaveAs2 GGecerliBelgeYolu


   Set WordApp = Nothing

ErrHandler:
Set WordApp = Nothing
Debug.Print Error

_______________________________________

Koda yeni eklediğim kısımları kırmızı renkli yaptım.
Cevapla
#3
Teşekkürler hocam evet sizin gönderdiğiniz aynı kodu kullanıyorum şablonda ilaveler ettim (şahısların fazla olmasına karşılık katılanlar kısmı) eğer şahıs az sa eklenen yer imleri satırlarını silmesi için yardım istedim
Yardımlarınız için teşekkürler ekleyip tekrar geri dönüş yapacağım hocam
Değişimde gelişimde beyinlerin değişmesi ve gelişmesi ile olur. By Bibib
Cevapla
#4
Merhaba, siz cevap yazarken bir önceki mesajıma kod eklemiştim. Kodu inceleyip bilgi veriniz.
Cevapla
#5
Hocam verdiğiniz kodları ekledim fakat ben katılanlar kısmına 25 adet yer imi ekledim 3 tane kayıt var ilk 3 yer imine onları yazıyor fakat katılanlar4 ten 25 dahil olan yerimlerinin satırlarını silmiyor arada boşluk kalıyor ve diğer tanımlı yer imlerine gelen dosyaları yazıyor
Değişimde gelişimde beyinlerin değişmesi ve gelişmesi ile olur. By Bibib
Cevapla
#6
Hocam verdiğiniz kodu 

For A= YerimiKontrol To 25
WordApp.ActiveDocument.Bookmarks("Katılanlar"&A).Select

    WordApp.Selection.Range.Delete
Next 

İle değiştirdim boş veri göndermerilmeyen imlerin bulunduğu satırları hepsini sildi 
Teşekkür ederim 

Size bir şey daha sorayım 
Yazıyı 2 yana yasla, ortala, sağa ve sola dayalı yaz komutları nedir 
Saygılarımla 
Değişimde gelişimde beyinlerin değişmesi ve gelişmesi ile olur. By Bibib
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task