Makro ile word excel arasında geçiş, farklı kaydetme ve dosya kapatıp açma

Katılım
12 Kasım 2005
Mesajlar
11
Merhaba,

A.xls dosyama bazı veriler giriyorum. Bu veriler B.doc dosyamdaki linkler sayesinde word dosyasındaki ilgili yerlere aktarılıyorlar. B.doc dosyamı açınca istediğimi elde ediyorum. Ama sorun burada başlıyor. Olmasını istediğim şey şu:

A.xls dosyasında öyle bir makro olsun ki excele verileri girip bu makroyu çalıştırdığımda, B.doc dosyasını açsın, linkleri tazelesin, masaüstüne (veya herhangi bir yere) C.doc olarak farklı kaydetsin, linkleri öldürsün, ve A.xls ile B.doc dosyasını kaydetmeden (veya formülleri v linkleri bozmadan) kapatsın. [Bunu istememin nedeni, A.xls ve B.doc dosyalarındaki hiçbirşey bozulsun istemiyorum (formüller, linkler vs.)]
Bu mümkün olursa, farklı kaydedilen C.doc üzerinde istenilen her türlü değişiklik yapılabilir ve bu iki dosyaya zarar vermez. Bir çok kişinin kullanımına açacağım için böyle bir kaygım var. Yardımcı olursanız sevinirim.

Saygılarımla.
 
Katılım
15 Ocak 2011
Mesajlar
64
Excel Vers. ve Dili
2011 türkçe
Konuyu hortlatmış gibi olacağım ama aynı sorunu yaşıyorum.

Üstatlardan ve bilgili arkadaşlardan yardımlarını bekliyorum.

Ek olarak şunu da belirtmeliyim, excel üzerinden word dosyasını aşağıdaki kodlar sayesinde açıp istediğim kelimelerde bağlantı yapabiliyorum, fakat kişi word üzerinde değişiklik yapamadan farklı kaydet makrosunun işleyip orjinal dosyanın deformasyonunu engellemede sıkıntı yaşıyorum.

Kod:
Sub ornek()
  Dim pword As Object
  Set pword = CreateObject("Word.Application")
  pword.Documents.Open ThisWorkbook.Path & "\ornek.doc"
  pword.Visible = True
  pword.Documents.Save
  
End Sub
 
Katılım
15 Haziran 2009
Mesajlar
3
Excel Vers. ve Dili
exel 2007
ÖNEMLİ

Çok değerli üstadlar,
Bu husus benim için de gerçekten çok önemli. Lütfen bu konuda yardımcı olursanız çok çok çok çok müteşekkir olurum. Bu konuda yol göstermenizi bekliyorum.

Excel ile Word arasında bağ-yapıştır ile tüm link bağlantılarını yaptım. Excel userform üzerinden gerekli verileri girdiğimde bu veriler Excel sayfasına ve doğal olarak oradan da word sayfasına aktarılıyor. Userformdaki bir butona öyle bir makro yazmalıyım ki word sayfasını açsın, bağlantıları otomatik güncelleştirsin ve hemen ardından farklı kaydederek bağlantıları koparsın.

Yani özetleyecek olursak
1-Word dosyasını aç
2-Bağlantıları güncelleştir(bu esasında otomatik güncelleştiriyor zaten ama açılışta soruyor yine de)
3-farklı kaydet
4-bağlantıları deaktif yap(bu kısmı da önemli, bağlantılar halen devam ederse word dosyasını arşivlesem de ilerde otomatik güncelleştireceği için hiçbir işe yaramaz)

Üstadlar şimdiden teşekkür ederim, hepsi olmasa da belirli bir aşamasına da yardımcı olsanız olur.

İyi günler.
 
Katılım
15 Haziran 2009
Mesajlar
3
Excel Vers. ve Dili
exel 2007
lütfen

Çok değerli üstadlar,
Bu husus benim için de gerçekten çok önemli. Lütfen bu konuda yardımcı olursanız çok çok çok çok müteşekkir olurum. Bu konuda yol göstermenizi bekliyorum.

Excel ile Word arasında bağ-yapıştır ile tüm link bağlantılarını yaptım. Excel userform üzerinden gerekli verileri girdiğimde bu veriler Excel sayfasına ve doğal olarak oradan da word sayfasına aktarılıyor. Userformdaki bir butona öyle bir makro yazmalıyım ki word sayfasını açsın, bağlantıları otomatik güncelleştirsin ve hemen ardından farklı kaydederek bağlantıları koparsın.

Yani özetleyecek olursak
1-Word dosyasını aç
2-Bağlantıları güncelleştir(bu esasında otomatik güncelleştiriyor zaten ama açılışta soruyor yine de)
3-farklı kaydet
4-bağlantıları deaktif yap(bu kısmı da önemli, bağlantılar halen devam ederse word dosyasını arşivlesem de ilerde otomatik güncelleştireceği için hiçbir işe yaramaz)

Üstadlar şimdiden teşekkür ederim, hepsi olmasa da belirli bir aşamasına da yardımcı olsanız olur.

İyi günler.

Arkadaşlar lütfen, bu sorunu bugün halletmem gerek. :(
 
Katılım
12 Aralık 2015
Mesajlar
1,209
Excel Vers. ve Dili
Türkçe Ofis 2007
UserForm'un bulunduğu Excel dosyası, Şablon Word dosyası ve Üretilen Word dosyasının aynı klasörde olacak şekilde ayarladım. Dosya ad ve yollarını kendinize göre uyarlayın.
Not: Word dosyasının açılışında Güncelleme yapılmaması için Word seçeneklerinde Gelişmişten ayarlama yapın. Kodla güncelleme yapılıyor.
Kod:
Set doc = CreateObject("Word.Document")
doc.Application.documents.Open ThisWorkbook.Path & "\dene.docx"
doc.Application.ActiveDocument.Fields.Update
doc.Application.ActiveDocument.Fields.Unlink
doc.Application.ActiveDocument.SaveAs Filename:=ThisWorkbook.Path & "\yeni.docx", _
        FileFormat:=wdFormatText
doc.Application.Quit
set doc = nothing
 
Son düzenleme:
Katılım
15 Haziran 2009
Mesajlar
3
Excel Vers. ve Dili
exel 2007
teşekkürler

UserForm'un bulunduğu Excel dosyası, Şablon Word dosyası ve Üretilen Word dosyasının aynı klasörde olacak şekilde ayarladım. Dosya ad ve yollarını kendinize göre uyarlayın.
Not: Word dosyasının açılışında Güncelleme yapılmaması için Word seçeneklerinde Gelişmişten ayarlama yapın. Kodla güncelleme yapılıyor.
Kod:
Set doc = CreateObject("Word.Document")
doc.Application.documents.Open ThisWorkbook.Path & "\dene.docx"
doc.Application.ActiveDocument.Fields.Update
doc.Application.ActiveDocument.Fields.Unlink
doc.Application.ActiveDocument.SaveAs Filename:=ThisWorkbook.Path & "\yeni.docx", _
        FileFormat:=wdFormatText
doc.Application.Quit
set doc = nothing

Hocam çok teşekkür ederim. Çok işime yaradı. :)
 
Üst