wdNewBlankDocument Değişken tipi nedir?

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Daha evvel kullandığım kodlar vardı ve çalışıyor ancak değişken tanımlamak zorunlu olsun dediğim zaman wdNewBlankDocument değerinde tanımsız değişken hatası veriyor. ben şimdilik vartiant dedim ama gerçekte ne olarak tanımlanmalıdır. Object kabul etmedi.

1.modül
Kod:
Sub Worde_Yapistir()
Selection.Copy
Call SeciliAlaniWordeYapistir(42.55, 42.55, 25, 25)
End Sub
2.modul
Kod:
Option Explicit           'Değişken tanımlamak zorunludur
Sub SeciliAlaniWordeYapistir(ByVal ust, alt, sol, sag As Integer, _
                          Optional Yatay As Boolean, Optional kapat As Boolean, _
                          Optional DosyaAdı As String = "")
'ust, alt, sol, sag                                Kenar Boşlukları
'Yatay             False (Varsayılan) veya True    Sayfa Yönü
'Kapat             False (Varsayılan) veya True    Kapatılacakmı?
'DosyaAdı          Kapatılırken kayıt edilecekse metin
Dim objWord, MyDoc          As Object
[COLOR=red]Dim wdNewBlankDocument      As Variant[/COLOR]

Selection.Copy
Application.ScreenUpdating = True
    Set objWord = CreateObject("Word.Application")
    Set MyDoc = objWord.Documents.Add[COLOR=red](DocumentType:=wdNewBlankDocument)[/COLOR]
    objWord.Visible = True
    
    With MyDoc.PageSetup
        .TopMargin = ust '42.55
        .BottomMargin = alt    '42.55
        .LeftMargin = sol     '25#
        .RightMargin = sag    '25#
        If Yatay = False Then
            .PageWidth = 595.35 'CentimetersToPoints(21)     'dikey
            .PageHeight = 841.95 'CentimetersToPoints(29,7)  'dikey
        Else
            .PageWidth = 841.95 'CentimetersToPoints(29.7)   'yataysayfa
            .PageHeight = 595.35 'CentimetersToPoints(21)    'yataysayfa
        End If
    End With
    objWord.Selection.PasteSpecial Link:=False, DataType:=10
    Application.CutCopyMode = False
    
    If DosyaAdı <> "" Then
       With objWord
            .ActiveDocument.SaveAs DosyaAdı
            If kapat = True Then
                .ActiveDocument.Close
                .Quit
            End If
        End With
    End If
Set objWord = Nothing:      Set MyDoc = Nothing:        Set wdNewBlankDocument = Nothing
Application.ScreenUpdating = False
End Sub
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
&#304;yi de; neden bunu de&#287;i&#351;ken ad&#305; olarak kullanmak istedi&#287;inizi anlamad&#305;m ? wdNewBlankDocument zaten, Word document tipi parametrelerinin de&#287;eri ... De&#287;i&#351;ken olarak tan&#305;mlaman&#305;n gere&#287;i nedir?

Kodlarda; DocumentType:=0 yazsan&#305;zda ayn&#305; &#351;ey olur.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
hocam ben de&#287;i&#351;ken olarak kullanmak istemiyorum option excilipit yaz&#305;nca modul&#252;n ba&#351;&#305;na tan&#305;ms&#305;z de&#287;i&#351;ken hatas&#305; veriyor vba denilen programc&#305;k. ben variant dedim ge&#231;tim ama ger&#231;ekte nedir onu soruyorum
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Hüseyin bey kardeşim, ne yazdığımı dikkatlice okudunuz mu? Option'ı moption'ı geçiniz. Bu isimle, bir değişken tanımlaması yapamazsınız, yapmamalısınız, mantığa aykırı.

Diyorum ki bu bir parametre ...

Excel'in VBA Find komutunda ne yapıyorduk hatırlayınız.
Kod:
Sheets("Sayfa1").Range("A1:A100").Find("Aranacak Kelime", Lookat:=[B][COLOR=red]xlWhole[/COLOR][/B])
Burada xlWhole neyse, sizin değişşken diye tanımlamaya çalıştığınız şey de o'dur. xlWhole bir parametredir. wdNewBlankDocument 'de bir parametredir.

Siz bu parametreye değer atamak istiyorsanız,

Kod:
Dim DokumanTipi as integer
DokumanTipi=0
deyiniz.

Kod:
Set MyDoc = objWord.Documents.Add(DocumentType:=DokumanTipi)
şeklinde de kodunuzu revize ediniz. Dokumantipini istediğiniz gibi değiştiriniz

dim wdNewBlankDocument ..... olmaz ..
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Anladım hocam ben orada hata verdi diye öyle söyledim. hocam teşekkürler
şeklinde kullanınca değişken sormadı bile
Kod:
    Set MyDoc = objWord.Documents.Add(DocumentType:=0) 'wdNewBlankDocument
 
Üst