Tüm Versiyonu Göster : excel sayfasýndan að üzerindeki bilgisayara mesaj yollama
imdatsaral
07-09-2004, 17:53
sevgili arkadaþlar
að üzerinde ortak kullandýðýmýz salt okunur excel dosyamýz. dosya düzenlenip farklý kaydet ile ortak bir klasöre farklý isimlerle kaydediyoruz. benim sorunum bundan sonra baþlýyor dosya kaydedildikten sonra bana haber verilmesi gerekiyorki iþlem yapabileyim. Haber vermeler hep unutuluyor ve zor durumda kalýyorum. farklý kaydet yapýldýktan sonra bilgisayarlar mesaj göndermek mümkünmü
teþekkür ederim
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Mesaj As String
Mesaj = "Dosya " & Application.UserName & " tarafýndan farklý kaydedildi."
If SaveAsUI Then
x = Shell("NET SEND PC_Adý " & Mesaj)
End If
End Sub
Mrb;
Þu anda yerel að'a baðlý olmadýðým için deneme þansým yok ama, aþaðýdakileri bir ara denersiniz.
Kodlardaki Who = "raider" satýrýnda, raider yerine, mesajýn gönderileceði sizin yerel að üzerindeki bilgisayarýnýzýn adýný yazacaksýnýz.
Belki kullanýlan iþletim sistemine göre Txt = "NET SEND " & Who & " " & Msg satýrýný revize etmek gerekebilir.
ThisWorkbook modulune yerleþtirilecek satýrlar:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI = True Then SendMsg
End Sub
Yeni bir module yerleþtirilecek satýrlar:
Sub SendMsg()
Dim FName As String
Dim FNo As Integer
Dim Msg As String, Txt As String, Who As String
Dim x
Msg = "Dosya birazdan farkli kaydedilecek ...."
Who = "raider"
FName = ThisWorkbook.Path & Application.PathSeparator & "NetMsg.BAT"
FNo = FreeFile
Txt = "NET SEND " & Who & " " & Msg
Open FName For Output As #FNo
Print #FNo, Txt
Close #FNo
x = Shell(FName, 0)
Kill FName
End Sub
Ýlave: tansel'in kestirme kodu daha güzel görünüyor, ben mesajýmý post ettikten sonra o mesajý görebildim.
imdatsaral
08-09-2004, 13:58
bigisayarýmýn iþletim sistemi win98 ve net send diye komut tanýmadýðýný belirtiyor.
Peki arkadaþlar þöyle bir öneride bulunsam benim masa üstünü paylaþýma açsam excel formuna kýsayol atmak için ilave birþeyler yapamazmýyýz farklý kaydet yapýldýðýnda benim makinama kýsayol oluþturulabilirmi
Ýlginiz için teþekür ederim
imdat saral
Win98 ile bahsettiðin problemi yaþayabilirsin...
Masa üstüne kýsayol iþiyle ilgili olarak eðer kodun çalýþtýrýlacaðý PC'de WSH yüklüyse, aþaðýdakileri bahsettiðin dosyaya yerleþtir.
ThisWorkbook Modulü:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI = True Then CreateShortcut
End Sub
Aþaðýdaki kodda MyFolder = "\\Raider\ortak\MyFolder\" satýrýnda, "kýrmýzý" yazýlý masaütü dosya yolunu kendi bilgisayarýna göre deðiþtirirsin.
Yeni bir Modul:
Sub CreateShortcut()
Dim WSscr As Object, NwShrtCut As Object
Dim MyFolder As String
Set WSscr = CreateObject("WScript.Shell")
MyFolder = "\\Raider\ortak\MyFolder\"
On Error Resume Next
If Len(Dir(MyFolder)) = 0 Then MkDir (MyFolder)
On Error GoTo 0
Set NwShrtCut = WSscr.CreateShortcut _
(MyFolder & Application.PathSeparator & _
ThisWorkbook.Name & ".lnk")
With NwShrtCut
.TargetPath = WSscr.ExpandEnvironmentStrings(ThisWorkbook.FullNa me)
.WorkingDirectory = WSscr.ExpandEnvironmentStrings(ThisWorkbook.Path)
.WindowStyle = 4
.IconLocation = WSscr.ExpandEnvironmentStrings _
(Application.Path & "\excel.exe , 0")
.Save
End With
Set WSscr = Nothing
Set NwShrtCut = Nothing
End Sub
Araçlarda çalýþma kitabýný paylaþtýr seçeneðinden ayný anda kullanýcýlaýn deðiþiklik yapmasýna izin ver seçeneði ile kullana bilirsin böylece okiþiler deðiþiklik yaptýðý ve kaydettiði anda deðiþikliði görebilirsin
imdatsaral
09-09-2004, 07:30
.save satýrýnda hata veriyor
\\imdat\c ile ifade ettiðiniz dosya yolu ile ilgili olarak;
1) "imdat" sizin bilgisayarýn LAN üzerindeki adý mý ?
2) c 'i þifresiz olarak paylaþýma açtýnýz mý ?
3 ) hata mesajýnda ne diyor ?
imdatsaral
09-09-2004, 08:33
sorduðunuz sorulardan cevabýmý buldum teþekür ederim.
makro çalýþýyor ama saltokunur olduðu isimle kýsayol atýyor yeni ismiyle yapamazmýyýz. Þu haliylede iþimi görüyor yardýmlarýnýz için saðolun
Eðer oluþturulan kýsayolun, dosyanýn yeni ismiyle yaratýlmasýný istiyorsanýz, ThisWorkbook modulüne önceki kod yerine aþaðýdaki kodu yerleþtirin;
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI = True Then
Application.OnTime Now, "CreateShortcut"
End If
End Sub
Ama, eðer bu dosya açýksa o zaman bu kýsa yola týkladýðýnýzda yine salt okunur olarak açýlýr. Sanki, daha önceki kod iþinize daha çok yarayacak gibi geliyor bana.
imdatsaral
09-09-2004, 10:00
sorunum tamamen çözüldü herkese teþekkür ederim yardýmlarýnýz için
benim isteðin sizin gibi olup benim gibi yardým isteyenlere yardýncý olmak yinede sorulan sorularý okuyorum belki faydam olur diye
kendinize iyi bakýn.
Ýmdat Saral
izmir
vBulletin v3.7.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.