Makro İle Bilgisayarda kurulu işletim sistemini kontrol etmek

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Esenlikler evde Win xp, işte win vista kullanıyorum. Çalışmakta olduğum çalışma kitabı, xxxx.xla eklenti dosyasına bağlantılar içeriyor. Evde veya işte çarken bağlantıları güncelle ekranı çıkıyor.

Bu çıkmadan Workbook_Open olayına bu bilgisayarın işletim sistemi vista ise
C:\Users\[kullanıcıadı]\AppData\Roaming\Microsoft\AddIns\Hsr_Ozel_Menu&Fonk.xla yolunu
Xp ise
C:\Documents and Settings\[kullanıcıadı]\Application Data\Microsoft\AddIns\Hsr_Ozel_Menu&Fonk.xla yolunu kullansın.

diye VBA dilinde nasıl denir?
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Kodu bunun gibi bir şey olması lazım ama açılışta bağlantıları otomatik nası güncelleştireceğimi bilmiyorum.
Sub Bağlantıları_Güncelle()
YolAddIns = Environ("appdata") & Application.PathSeparator
& "Microsoft" & Application.PathSeparator
& "AddIns" & Application.PathSeparator & Hsr_Ozel_Menu&Fonk.xla

Eğer YolAddIns yoksa Açılış için gerekli dosya bulunamadı de kapat.
Eğer Belietilen dosya mevcutsa bağlantıları güncelleştir.


End Sub
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
bu konuda bir fikri olan arkadaşımız yok mu?
Sorun kısaca şu işyerimde vista ve Of2007 var, evde xp ve Of2007 var.
İşyerimde hazırladığım bir dosyayı evde açtığımda bağlantıları güncelle eklentim.xla dosyasının mevcut olmadığını söylüyor. ahlbuki her iki makinenin addins klasöründe mevcut.
Makinede yüklü işletim sistemine göre eklentim.xla dosyasını AddIns kalsörüne baksın ve kaynak güncelle ve değerleri güncelleştir işlemini açılışta kendisi yapsın olmaz mı?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,552
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Sub YOL_KONTROL()
Dim YOL_1 As String, YOL_2 As String
Dim FSO As Object
 
YOL_1 = "C:\Documents and Settings\[COLOR=red][Kullanıcı_Adı][/COLOR]\Application Data\Microsoft\AddIns"
YOL_2 = "C:\Users\[COLOR=red][Kullanıcı_Adı][/COLOR]\AppData\Roaming\Microsoft\AddIns"
 
Set FSO = CreateObject("Scripting.FileSystemObject")
 
If FSO.FolderExists(YOL_1) Then
MsgBox "Bilgisayarınızda XP sistemi kuruludur.", vbInformation
ElseIf FSO.FolderExists(YOL_2) Then
MsgBox "Bilgisayarınızda VİSTA sistemi kuruludur.", vbInformation
Else
MsgBox "Bilgisayarınızdaki işletim sistemi bulunamamıştır.", vbCritical
End If
End Sub
 
Son düzenleme:

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,313
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
PC'deki işletim sisteminin bulunmasıyla ilgili olarak;

Kod:
Sub OS_Info()
    Dim strComputerName As String
    Dim strNameSpace As String
    Dim strClassName As String
    Dim OS As Object
    Dim objWMIService As Object
    Dim Osinf As Object
    Dim strVersionName As String
    '
    strComputerName = "."
    strNameSpace = "root\cimv2"
    strClassName = "Win32_OperatingSystem"
    '
    On Error Resume Next
    If Err.Number <> 0 Then
        MsgBox "WMI y&#252;klenmemis! Programdan &#231;ikilacak...", vbExclamation, "Windows Management Instrumentation"
        Exit Sub
        On Error GoTo 0
    End If
    '
    Set objWMIService = GetObject("winmgmts:\\" & strComputerName & "\" & strNameSpace)
    Set Osinf = objWMIService.ExecQuery("Select * from " & strClassName)
    '
    For Each OS In Osinf
        strVersionName = "Windows Versiyonu = " & OS.Name
        strVersionName = Mid(strVersionName, 1, InStr(1, strVersionName, "|") - 1) & vbCrLf
        MsgBox strVersionName & strServicePack, vbInformation, "Windows Bilgileri   (Haluk &#174;)"
    Next
End Sub
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
korhan ve haluk hocam alakn&#305;za te&#351;ekk&#252;r ederim.
eve gidince deneyece&#287;im.
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,158
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Sub D&#252;&#287;me1_T&#305;klat()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOperatingSystem In colOperatingSystems
MsgBox "Kullanm&#305;&#351; oldu&#287;unuz &#304;&#351;letim sistemi " & objOperatingSystem.Caption & " " & _
objOperatingSystem.Version
Next
End Sub
 
Üst