Açık dosyayı kapatmak

Katılım
5 Mayıs 2005
Mesajlar
72
mrb
işyerinde ortak kullandığımız excel dosyasını başkası açtığında ben salt okunur olarak açabiliyorum benim istediğim ben dosyayı açtığımda daha önce açan kişiye dosyayı kapatması için uyarı mesajı vermek ve dosyayı normal olarak açmak yani salt okunur olmayacak.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,299
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
En kestirmesi ..... "net send" ile diğer kullanıcıya uyarı mesajı yollayın .
 

Haluk

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

Esasında bu iş için birazcık teferruatlı VBA kodları yazılır.

Ama en kestirmesi, diğer kullanıcıyı dosyayı acilen kapatması için uyarmaktır. ( Ya da dahili telefondan uyarabilirsiniz ... :mrgreen:)

Bunun için de, (aynı network altında çalıştığınıza göre) "net send" komutunu kullanmaktır.

Bu iş için, DOS penceresine yazacağınız komut;

Kod:
net send raider Dosya bana lazim, acele kapat
olacaktır.

Bu durumda, network ortamında bilgisayar adı "raider" olan bilgisayarın ekranına, açık olan bütün pencerelerin üzerine bu şekilde bir mesaj gelecektir.

Artık, gerisi mesajı alan diğer kullanıcıya ait. :mrgreen:
 
Katılım
5 Mayıs 2005
Mesajlar
72
Raider' Alıntı:
( Ya da dahili telefondan uyarabilirsiniz ... :mrgreen:)
zaten bu yöntemi kullanıyorum da excelde varmı acaba böyle bişey diye aklıma geldi.
önerdiğiniz yöntemi deneyeceğim ama bahsettiğiniz tefferuatlı vba kodları nedir onu da söylerseniz belki daha iyidir.
tşk.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,299
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
En kısa yöntem her zaman daha iyidir.... (= dahili telefon VEYA "net send" komutu)

:mrgreen:

Bir ara, onunla ilgili kodları da yazarım....(= teferruatlı VBA kodları)
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,299
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Þimdilik aşağıdaki gibi basit bir şey deneyin....

(Denemek için kendi bilgisayarınızda C:\Test.xls şeklinde bir dosya oluşturun. Bu dosya açık veya kapalıyken, başka bir dosyada aşağıdaki kodu çalıştırın. Test.xls dosyası kapalıysa, açacaktır. Eğer açıksa, sizi ikaz edecektir. Eğer kodun işinize yarayacağına inanırsanız, kodda da belirttiğim gibi C:\Test.xls yerine server üzerindeki dosya yolunu tanımlarsınız.)

[vb:1:389e35d38d]Sub FileOpened()
Dim MyFile As String
MyFile = "C:\Test.xls"
' MyFile = "\\Server1\ortak\Test.xls"
On Error GoTo FileInUse
Open MyFile For Binary Access Read Lock Read As #1
Close #1
MsgBox "Dosya daha önceden kullanımda değil, açabilirsiniz !"
Workbooks.Open MyFile
Exit Sub
FileInUse:
MsgBox "Dosya şu anda başkası tarafından kullanılmakta !"
End Sub
[/vb:1:389e35d38d]
 
Katılım
8 Temmuz 2004
Mesajlar
254
Excel Vers. ve Dili
office 2007-mssql 2008 R2
selam,

Excelin içersinde "araçlar" altında "Çalışma Kitabını Paylaştır" var. Dosyanızı böyle ayarlarsanız kimse salt okunur mesajı almaz. Herkes dosyayı açar ve istediği değişikliği yapar. Hatta kimin ne işlem yaptığını bile görebilirsiniz.

Ayrıca net send bildiğim kadarıyla win 2000 ve yukarısında çalışıyor. Eğer işletim sisteminiz 98 ise çalışmayabilir. Eğer 2000 ise "denetim masasında", "yönetimsel araçlar" altında "Hizmetler"den messenger servisini çalıştırın. Belki servis çalışmıyor veya stop etmiş olabilir.

Kolay gelsin.
 
Katılım
5 Mayıs 2005
Mesajlar
72
ilginiz için tşk. WAKKASSS , Raider
işletim sistemi xp ama denetim masasından dediğinizi yapamadım erişim engellendi uyarısı verdi
paylaştırılmış dosyada çalışmayı da denedik ama aynı anda kullandığımızda çok karışıyor hiç verimli olmadı.

Raider verdiğin kod çalışıyor dosya kapalıysa açıyor açıksa açık diye uyarı veriyor ama benim istediğim bu değil ki zaten normalde de bu uyarıları excel otomatik veriyor.
istediğim dosyayı açtığımda karşı tarafa uyarı mesajı göndermek veya mesaj olayı olmazsa karşı tarafın dosyası kapansın bende açılsın.
 
Katılım
8 Haziran 2005
Mesajlar
114
Kod:
Sub Mesaj()
  sor = InputBox("Mesajınız : ", suzunkopru, "Mesajımı Buraya Yazmalıyım")
  Shell "C:\WINDOWS\system32\net.exe " & "send" & " " & "Suleyman" & " " & sor & " Ek İleti"
End Sub
 
Katılım
5 Mayıs 2005
Mesajlar
72
VisualBasic üstad ilgin için sağol ama anladığım kadarıyla net send ile çözüm sunmışsun.
Ama ben bunu kullanamıyorum makro ile bir çözümü yok mu ?
Sizler kadar exceli bilmiyorum ama bir yolu olmalı diye düşünüyorum. Yani diğer sorulara verilen cevaplara bakınca akla hayale gelmeyecek çözümler bulunmuş. Ã?zellikle Raiderin müthiş bilgisi var.
Bana da bir yardımcı olun lütfen...
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,299
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Cemil1' Alıntı:
Ã?zellikle Raiderin müthiş bilgisi var.
Bana da bir yardımcı olun lütfen...

Yok canım, o kadar da abartmayın .... :mrgreen:

Bu arada, sizin istediğiniz tarzda başka bir PC' de o tür bir işlem yapabilmek için en azından sizin o diğer PC'e network ortamında Admin yetkileriyle erişiminizin sistem yöneticiniz tarafından sağlanmış olması gerekir.

Yoksa, klasik VBA kodlarıyla daha fazla bir şey yapılamaz ...... diye düşünüyorum.
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
Bu konu altından sormak isterim.

Başka bir pc de açılmış ve ortak bir alanda kullanılan excel dosyasını. 2. bir pc de açtığımızda read only açabiliyoruz.

1. pc de açılmış bu exceli o kişinin bilgisayarını kapatmadan nasıl sonlandırabiliriz. olabilir mi böyle bir şey.
 
Üst