excel verilerini worde aktarma

bravo64

Altın Üye
Katılım
21 Eylül 2005
Mesajlar
184
Excel Vers. ve Dili
ofis 365 İngilizce
Altın Üyelik Bitiş Tarihi
25-10-2024
Merhaba arkadaşlar.
bu siteye tekrar tekrar teşekkür ediyorum ve tabii tüm emeği geçenlere..
sorunum şu;
Sub worde()
fName = Application.InputBox("Dosya ismi girin...", "Dosya")
If fName <> 0 Then
ActiveSheet.Name = fName
f = InputBox("Kaçıncı Satıra Kadar Aktarsın?", "Aktarılacak Bölge")
Range("A1: ı" & f).Copy
Set objword = CreateObject("Word.Application")
objword.Visible = True
Set MyDoc = objword.Documents.Add(DocumentType:=wdNewBlankDocument)
objword.Selection.PasteSpecial Link:=False, DataType:=2
objword.activedocument.SaveAs "C:\" & fName & ".doc"
End If
Application.CutCopyMode = False

End Sub

böyle bir makroyla worde aktarım yapıyorum ancak açılan word sayfasının yatay olmasını istiyorum.çünkü excel tablom geniş olduğu için word de alt alta geliyor..
İyilikler diliyorum.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
A&#351;a&#287;&#305;daki sat&#305;r&#305; ekleyip denermisiniz.

Kod:
objword.ActiveDocument.PageSetup.Orientation = wdOrientLandscape
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,475
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
07-11-2024
merhaba

bu konu banda lazım ama
Set MyDoc = objword.Documents.Add(DocumentType:=wdNewBlankDocu ment)[/COLOR]
bu satırda hata veriyor kırmızı renkle işaretliyor sebebi neden olabilir bi bakarmısınız
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,895
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
bu konu banda lazım ama
Set MyDoc = objword.Documents.Add(DocumentType:=wdNewBlankDocu ment)[/color]
bu satırda hata veriyor kırmızı renkle işaretliyor sebebi neden olabilir bi bakarmısınız

Docu ment olarak ayrı olan kısımı birleştirip Document olarak bitişik yazın.
 

bravo64

Altın Üye
Katılım
21 Eylül 2005
Mesajlar
184
Excel Vers. ve Dili
ofis 365 İngilizce
Altın Üyelik Bitiş Tarihi
25-10-2024
Sevgili Leventm,
kodu ekledim ama yine vertical oluyor..

Sub worde()
fName = Application.InputBox("Dosya ismi girin...", "Dosya")
If fName <> 0 Then
ActiveSheet.Name = fName
f = InputBox("Kaçıncı Satıra Kadar Aktarsın?", "Aktarılacak Bölge")
Range("A1: ı" & f).Copy
Set objword = CreateObject("Word.Application")
objword.Visible = True
Set MyDoc = objword.Documents.Add(DocumentType:=wdNewBlankDocument)
objword.ActiveDocument.PageSetup.Orientation = wdOrientLandscape
objword.Selection.PasteSpecial Link:=False, DataType:=2
objword.ActiveDocument.SaveAs "C:\" & fName & ".doc"
End If
Application.CutCopyMode = False

End Sub
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Evet olmadığını sonradan bende gördüm. İlginç o satırı word dosyasında çalıştırınca işlemini yapıyor, ama excelden çalıştırınca yapmıyor, sebebini araştıralım.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,323
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Olay&#305;n &#231;&#246;z&#252;m&#252; i&#231;in, wdOrientLandscape yerine, onun n&#252;merik de&#287;er kar&#351;&#305;l&#305;&#287;&#305;n&#305; yani 1 (bir) kullanacaks&#305;n&#305;z.

Nedeni ise &#351;u;

Yaz&#305;lan kodlarda de&#287;i&#351;kenler aras&#305;ndaki objWord de&#287;i&#351;keni, run-time yani, &#231;al&#305;&#351;ma s&#305;ras&#305;nda CreateObject y&#246;ntemi ile sonradan olu&#351;turulan bir Word nesnesi.

Dolay&#305;s&#305;yle, kodlardaki objWord nesnesine ait wdOrientLandscape sabiti Excel taraf&#305;ndan alg&#305;lanmad&#305;&#287;&#305; i&#231;in bu sabit, kullan&#305;c&#305; tan&#305;ml&#305; bir de&#287;i&#351;ken olarak alg&#305;lanmaktad&#305;r. Bu de&#287;i&#351;kene daha &#246;nceden bir de&#287;er verilmedi&#287;i i&#231;in de, Excel bu de&#287;i&#351;kenin de&#287;erini 0 (s&#305;f&#305;r) olarak alg&#305;lamaktad&#305;r.

Halbuki, MS Word uygulamas&#305;nda 0 (s&#305;f&#305;r) wdOrientPortrait sabitinin n&#252;merik de&#287;er olarak kar&#351;&#305;l&#305;&#287;&#305;d&#305;r.

&#304;&#351;te bu nedenle yukar&#305;daki kod, sayfay&#305; "Landscape" yerine "Portrait" olarak yazd&#305;rmaktad&#305;r.

Benzer &#351;ekilde, asl&#305;nda yukar&#305;daki kodlarda ge&#231;en wdNewBlankDocument sabiti yerine de 0 (s&#305;f&#305;r) kullanmak, i&#351;in mant&#305;&#287;&#305; nedeniyle gerekir. MS Word uygulamas&#305;nda da wdNewBlankDocument sabitinin n&#252;merik de&#287;er olarak kar&#351;&#305;l&#305;&#287;&#305; tesad&#252;fen 0 (s&#305;f&#305;r) oldu&#287;u i&#231;in ve yukar&#305;daki kodda Excel bunu yine kullan&#305;c&#305; tan&#305;ml&#305; bir de&#287;i&#351;ken olarak alg&#305;lay&#305;p, daha &#246;nceden de&#287;er verilmedi&#287;i i&#231;in 0 (s&#305;f&#305;r) olarak alg&#305;lad&#305;&#287;&#305;ndan dolay&#305;, tesad&#252;fen kodun o k&#305;sm&#305;nda bir problem &#231;&#305;kmamaktad&#305;r.

Bu i&#351;in ba&#351;ka bir &#231;&#246;z&#252;m&#252; de, VBA' de kodlarda CreateObject y&#246;ntemi yerine MS Word referans&#305;n&#305; ekliyerek, de&#287;i&#351;kenleri Word uygulamas&#305;na g&#246;re deklare etmektir.
 
Son düzenleme:

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
&#220;stad&#305;m a&#231;&#305;klamalar&#305;n i&#231;in &#231;ok te&#351;ekk&#252;rler, insan bazen bu kadar basit bir ayr&#305;nt&#305;y&#305; ka&#231;&#305;rabiliyor, hi&#231; akl&#305;ma gelmemi&#351;ti. Bu arada &#246;nermi&#351; oldu&#287;un ikinci kodlama mant&#305;&#287;&#305; ile ilgilide bir &#246;rnek rica edebilirmiyim.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,323
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi

bravo64

Altın Üye
Katılım
21 Eylül 2005
Mesajlar
184
Excel Vers. ve Dili
ofis 365 İngilizce
Altın Üyelik Bitiş Tarihi
25-10-2024
Sayın Haluk ve Leventm, gerçekten süpersiniz.Naçizane tebriklerimi sunuyorum.
İyilikler dilerim..
 
Katılım
31 Aralık 2006
Mesajlar
5
Excel Vers. ve Dili
2010 tr
Merhaba bravo64 sorun çözülmüş olan örnek bir dosyayı gönderirsen memnun oılurum. Şimdiden teşekkürler.
 
Katılım
25 Ağustos 2005
Mesajlar
569
Excel Vers. ve Dili
Excel 2003 Tr
merhaba sn.hocalarım ve arkadaşlarım;

excelden worde aktarma makrosu gayet güzel çalışıyor fakat burda küçük bir sorun var dilerim çözülür çünkü çok kullanışlı
sorun excelin açılışında verdiği orijinal sütün genişliklerini kullandığınızda worde aktarırken sayfaya düzenli aktarıyor yani sütunlar hizalı oluyor
eğer sütun genişliklerini değiştirirseniz bu sefer aktarımda word dosyada bilgiler birbirinin içine giriyor sayfa düzeni diye birşey kalmıyor. konu hakkında değerli bilgilerinizi paylaşırmısınız bizimle.
 
Üst