• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Word Belgesinde Checkbox İşaretleme

Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Merhaba,

Aşağıdaki kodlar ile varolan bir word sayfasını açıp, buradaki tablolara veri yazdırabiliyorum.

Sorum Word sayfasında bulunan checkboxların işaretlerini excelden nasıl değiştirebilirim?


Kod:
Sub OpenWordDoc()
Dim wdApp As Word.Application, wdDoc As Word.Document
On Error Resume Next
Set wdApp = GetObject(, "Word.Application")
If Err.Number <> 0 Then 
Set wdApp = CreateObject("Word.Application")
End If
On Error GoTo 0
'*****************************************
Set wdDoc = wdApp.Documents.Open(ThisWorkbook.Path & "\" & "&#246;zel.doc")
Set objTable = wdDoc.Tables(1)
objTable.Cell(1, 1).Range.Text = Cells(1, 1).Value
objTable.Cell(1, 2).Range.Text = Cells(1, 2).Value
objTable.Cell(2, 1).Range.Text = Date
'*****************************************
'wdDoc.PrintOut
wdDoc.Activate
wdDoc.Save
'wdDoc.Close
Set wdApp = Nothing
Set wdDoc = Nothing
Set objTable = Nothing
[color=green]'Referanslardan "Microsoft Word ?.? Library" se&#231;ili olmal&#305;d&#305;r.[/color]
End Sub
 
Son düzenleme:
...........Sorum Word sayfas&#305;nda bulunan checkboxlar&#305;n i&#351;aretlerini excelden nas&#305;l de&#287;i&#351;tirebilirim?

Benim akl&#305;ma &#351;&#246;yle bir &#231;&#246;z&#252;m geldi. checkbox&#305; i&#351;aretleyecek kodu word dosyas&#305;na yaz&#305;p, excelden bu kodun &#231;al&#305;&#351;t&#305;r&#305;lmas&#305;. Bunun i&#231;in a&#351;a&#287;&#305;daki uygulamalar&#305; yap&#305;n.

1-checkbox denetim ara&#231; kutusundan word dosyas&#305;na eklenmi&#351; olmal&#305;d&#305;r. (ad&#305; checkbox1 kabul edilmi&#351;tir.)

2-&#214;zel.doc dosyas&#305;n&#305;n project(&#214;zel)-Thisdocument sayfas&#305;na a&#351;a&#287;&#305;daki kodu kopyalay&#305;n.

Kod:
Sub ac()
If CheckBox1.Value = True Then
CheckBox1.Value = False
Else
CheckBox1.Value = True
End If
End Sub

3-Yukar&#305;da verdi&#287;iniz "OpenWordDoc" isimli prosed&#252;r&#252;n i&#231;inde uygun bir yere a&#351;a&#287;&#305;daki sat&#305;r&#305; ilave edin.

Kod:
wdApp.Run "ac"

B&#246;ylece excel dosyas&#305;ndaki "OpenWordDoc" isimli prosed&#252;r&#252;n&#252;z&#252; &#231;al&#305;&#351;t&#305;rd&#305;&#287;&#305;n&#305;zda checkbox1 false ise true, true ise false durumuna getirilir.
 
Buldu&#287;unuz &#231;&#246;z&#252;m gayet g&#252;zel &#231;al&#305;&#351;&#305;yor.&#350;u anda i&#351;imi g&#246;r&#252;r.

Ben burada True ise False yerine excelden gelen de&#287;er 1 ise True , de&#287;il ise False yap gibi bir&#351;ey yapmak istiyordum.A&#351;a&#287;&#305;daki &#351;ekilde de hallettim.
Kod:
Sub ac(durum As Byte)
If durum = 1 Then
CheckBox1.Value = True
Else
CheckBox1.Value = False
End If
End Sub

Kod:
wdApp.Run "ac", [a1]

Te&#351;ekk&#252;rler.
 
Son düzenleme:
Yine aynı konuyla ilgili olarak makroyu (OpenWordDoc) çalıştırdığımda 2.defada word belgesini açıyor.Birincisinde Word uygulamasını çalıştırıyor, fakat dosyayı açmıyor.İkincisinde ise dosyayı açıyor.Nedeni ne olabilir?
 
Yukarıda verdiğiniz kodda dosyayı kapatan satır iptal edilmiş, bu satırı devreye alarak deneyin.

wdDoc.Close
 
Bende d&#252;&#351;&#252;nd&#252;m ama sorun bu de&#287;il.Ben word belgesini sadece a&#231;mak istiyorum.

Makro d&#252;zg&#252;n &#231;al&#305;&#351;&#305;yor.Fakat 2. defa &#231;al&#305;&#351;t&#305;rd&#305;&#287;&#305;mda istedi&#287;im sonucu veriyor.
Dedi&#287;im gibi ilkinde word uygulamas&#305;n&#305; a&#231;&#305;yor.&#304;kincisinde belgeyi a&#231;&#305;yor.
 
Arkadaşlar konu güncelliğini koruyor.

Dediğim gibi makroyu ilk çalıştırdığımda word belgesini açmıyor.
İkinci defa çalıştırdığımda açıyor.

Örnek dosya ektedir.
 
Kodu aşağıdaki gibi değiştirerek denermisiniz.

Kod:
Sub OpenWordDoc()
Dim wdApp As Word.Application, wdDoc As Word.Document
On Error Resume Next
Set wdApp = CreateObject("Word.Application")
wdApp.Visible = True
'*****************************************
Set wdDoc = wdApp.Documents.Open(ThisWorkbook.Path & "\" & "özel.doc")
Set objTable = wdDoc.Tables(1)
objTable.Cell(1, 1).Range.Text = Cells(1, 1).Value
objTable.Cell(1, 2).Range.Text = Cells(1, 2).Value
objTable.Cell(1, 3).Range.Text = Cells(1, 3).Value
objTable.Cell(1, 4).Range.Text = Cells(1, 4).Value
objTable.Cell(2, 1).Range.Text = Date
'*****************************************
'wdApp.PrintOut
wdDoc.Activate
wdDoc.Save
'wdApp.Quit
'wdDoc.Close
Set wdApp = Nothing
Set wdDoc = Nothing
Set objTable = Nothing
'Referanslardan "Microsoft Word ?.? Library" seçili olmalıdır.
End Sub
 
Te&#351;ekk&#252;rler.

Sorun &#351;imdi anla&#351;&#305;ld&#305;......
 
Geri
Üst