[ÇÖZÜLDÜ] Veri tabanındaki değişkene göre dosya oluşturup açma

Katılım
11 Temmuz 2008
Mesajlar
9
Excel Vers. ve Dili
tr2003
Değerli arkadaşlar yapmak istediğim olay biraz karışık ve dolambaçlı gelebilir ama inanın böyle yapmak benim için en mantıklı yapmak istediğim veri tabanı dışındaki bir dosyanın kopyasını aldırarak ismini veri tabanındaki alandan aldırmak ve açtırmak ayrıntıları eklediğim dosyada yazdım yardımcı olan ve inceliyen arkadaşların yüreğine ve beynine sağlık.
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

Kopyalanacak dosya sabit mi?
 
Katılım
11 Temmuz 2008
Mesajlar
9
Excel Vers. ve Dili
tr2003
evet sabit dosyanın adı teklif.doc
 
Son düzenleme:
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

Sizin için örnekte bahsettiğiniz şartlara göre bir düzenek hazırladım.. Şöyle ki..:

C:\Evraklar klasöründeki Teklif adındaki Word dosyasını formun üzerindeki değişkenin ismini vererek çoğaltıyoruz.. Eğer dosya daha önce oluşturulmuşsa yeniden üzerine kopyalanmasına izin vermiyoruz..

Eğer kayıttaki teklifle ilgili bir Word bir dosyası oluşturmuşsak bunu da aynı form üzerinden açabiliyoruz..

C:\ sürücüsünde Evraklar adında bir klasör içerisine Teklif adında bir Word dosyası oluşturup düzeneği deneyebilirsiniz..
 
Katılım
11 Temmuz 2008
Mesajlar
9
Excel Vers. ve Dili
tr2003
:mutlu: :mutlu: :mutlu: Hocam Ellerine gözlerine beynine emeğine sağlık çok teşekkür ederim mükemmel işliyor hatalarıda engelliyor tam istediğim gibi olmuş tekrardan çok teşekkür ederim :hihoho: :hihoho: :hihoho:
 
Son düzenleme:
Katılım
19 Eylül 2008
Mesajlar
331
Excel Vers. ve Dili
2003
Selam

Sayın Taruz problemi çözmüş ellerine sağlık. Ben de onun yaptıklarına ilave yaparak dosya aç ekledim öğrenmek isteyen arkadaşlar için
İyi Çalışmalar
 
Katılım
11 Temmuz 2008
Mesajlar
9
Excel Vers. ve Dili
tr2003
Merhaba
Hocam Biliyorum biraz fazla oldu ama sana göndermiş olduğum dosyadan ekdeki word dosyasına forma bilgi aktarmamız mümkünmüdür ve modüldeki AnaDosya = "C:\Evraklar\Teklif.doc" bölümüne bir açılır kutu yaparak evrak adı değiştiğinde anadosya adınında değişmesi mümkünmü verdiğim zahmetler için özür dilerim henüz başlangıçta olduğum için siz değerli arkadaşların yardımlarını bekliyoruz.
İyi çalışmalar dilerim
:dua2: :dua2: :dua2:
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın soulpandora,

Birçok problem ile ilgili bir çok çözümü bulabilirsiniz. Yanlız tabi forumun üstünde bulunan Arama düğümesini klikliyerek.

Word yazıp Access te aratsaydınız hemen cevaba ulaşabilirdiniz.

http://www.excel.web.tr/showthread.php?t=37516

İyi çalışmalar
 
Katılım
11 Temmuz 2008
Mesajlar
9
Excel Vers. ve Dili
tr2003
Evet hocam hakılısınız yazmayı unutmuşum aradım buldum denedim ama bir türlü kodları tek butona entegre edemedim o yüzden yazdım. İlgilenen ve örnek gönderen arkdaşlara tekrar tekrar teşekkür ederim. Yapmak istediğim sırasıyla ekli dosyalarda belirttim. Tekrardan İlgilenen ve inceliyen arkdaşlarınyüreğine sağlık :oops: ( Bu arada veritabanını geliştirmek için adnanyurdakul arkadaşıma göndermiş olduğu dosya için teşekkür ederim)
 
Son düzenleme:
Katılım
11 Temmuz 2008
Mesajlar
9
Excel Vers. ve Dili
tr2003
Arkadaşlar sonunda kurcalaya kurcalaya bunu ekledim ve istediğimi şu şekilde yaptım ilk önce c:\ sablon adında klasör yarattım içine teklif1, teklif2 , teklif3 adında klasörler ve içerilerine teklif şablonumu attım
deneme için aa adında bir alan yaratarak açılır pencere oluşturdum ve teklif1 , teklif2, teklif3 değerlerini atadım kodlar ektedir acemi işi istediğimi tabiri caizse sol kulağımı sağ elimle tutarak yaptım ama oldu :D eminim üstadlar kodları daha güzel ve çalışır hale getirirler şu an çalışır durumda ama hala worde yazdırma konusunda çalışıyorum :kafa:
---------------------------------------------------------------------
a = [aa]
Dim ds
Dim cs
Dim fs

If a = "1" Then
Set ds = CreateObject("Scripting.FileSystemObject")
ds.CopyFile "c:\sablon\teklif1\teklif.doc", "c:\evraklar\"
End If

If a = "2" Then
Set cs = CreateObject("Scripting.FileSystemObject")
cs.CopyFile "c:\sablon\teklif2\Telkif.doc", "c:\evraklar\"
End If

If a = "Teklif3" Then
Set fs = CreateObject("Scripting.FileSystemObject")
fs.CopyFile "c:\sablon\teklif3\telkif.doc", "c:\evraklar\"

End If


End Sub
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın soulpandora,

Teklifleri şablonlardan yarattığınıza göre, ozaman şablonlara yer imleri eklemeniz gerekiyor. Bu imleri eklerken, imlere de ad veriyorsunu. Ondan sonra da yukarıdaki mesajımda belirttiğim başlıktaki örneğe göre yazdırmak istediklerinizi bu yer imlerine yolluyorsunuz.

Yer imi kullanmazsanız o zaman vba alet çantasından metin kutulara eklemeniz gerekiyor. Bu metin kutularına da id (adları) olduğundan istediğinizi istediğiniz noktada yazdırabilirsiniz.

Düz yazıya yazı yazdırmakta mümkün ama çok uğraştırıcı.

Yer imlerini word daki Ekle- Yer imleri... inden yapabilirsiniz. Ama mutlaka yukarıda bahsettiğim başlığın benim eklediğim örneği inceleyin.

İyi çalışmalar
 
Katılım
11 Temmuz 2008
Mesajlar
9
Excel Vers. ve Dili
tr2003
Çok teşekkür ederim Hocam
İyi çalışmalar dilerim

Sayın Taruz hocamın göndermiş olduğu bu kod ile sorun çözüldü
ilgilenen lerin ellerine gözlerine beynine sağlık çok teşekkür ederim.
-------------------------------------------------------------
Dim WordApp As Word.Application
Dim AYol As String
AYol = "C:\Evraklar\" & [Teklif No] & ".doc"

If dosyasıvarmı = -1 Then
MsgBox [Teklif No] & " adında daha önce bir Teklif Dosyası oluşturmuşsunuz..", , " Taruz"
Else
Taruz_Dosya_Yedekle ([Teklif No])
dosyasıvarmı = -1

Application.FollowHyperlink AYol, , True, True
On Error Resume Next
Set WordApp = GetObject(, "Word.Application")
On Error GoTo ErrHandler
WordApp.Documents.Open (AYol)
WordApp.Visible = True
WordApp.WindowState = wdWindowStateMaximize
With WordApp.Selection
.Goto what:=wdGoToBookmark, Name:="firma"
.TypeText [Firma Adı]
.Goto what:=wdGoToBookmark, Name:="teklif"
.TypeText [Teklif No]
.Goto what:=wdGoToBookmark, Name:="teklifveren"
.TypeText [Teklif veren]
.Goto what:=wdGoToBookmark, Name:="tarih"
.TypeText Date
End With
DoEvents
WordApp.Activate
WordApp.Documents.Save
'WordApp.Quit
Set WordApp = Nothing
Exit Sub
ErrHandler:
Set WordApp = Nothing
End If
 
Son düzenleme:
Üst