- Katılım
- 5 Aralık 2007
- Mesajlar
- 635
- Excel Vers. ve Dili
- Office 2007
- Altın Üyelik Bitiş Tarihi
- 08-05-2021
Merhaba,
Dosyamda aşağıdaki kodu kullanıyorum .64 bit makinede kullandığım dosyada 32 bit makinede değişiklik yapıp kapattıktan sonra tekrar 64 bitte açmaya çalıştığımda "Can't find project or library" hatası alıyorum. Forumda konuyla ilgili Sayın Murat Osma tarafından Office 2010 için önerilen aşağıdaki kodu denedim ama değişiklik yaptığımda tüm kod hata veriyor.
Sayın Murat Osma'nın önerisi;
Public Declare PtrSafe Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" _
(ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, _
ByVal lpReturnedString As String, ByVal nSize As Long) As Long
Çalışmamdaki kod;
Option Explicit
---
Public Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" _
(ByVal lpAppName As String, ByVal lpKeyName As String, _
ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long
---
Public Function Varsayılan_Yazıcı() As String
Dim Varsayılan_Yazıcı_Adı As String, Kontrol As Integer
Varsayılan_Yazıcı_Adı = Space(255)
Kontrol = GetProfileString("Windows", ByVal "device", "", _
Varsayılan_Yazıcı_Adı, Len(Varsayılan_Yazıcı_Adı))
If Kontrol Then
Varsayılan_Yazıcı_Adı = Left(Varsayılan_Yazıcı_Adı, InStr(Varsayılan_Yazıcı_Adı, ",") - 1)
End If
Varsayılan_Yazıcı = Varsayılan_Yazıcı_Adı
End Function
Forumda bir ara, bilgisayarda kurulu olan windows işletim sistemini kontrol edecek şekilde hazırlanmış bir çalışmaya rastlamıştım diye hatırlıyorum. Buna istinaden şu soruyu sormak istiyorum;
Söz konusu api kullanılan makinedeki işletim sistemini algılayacak şekilde düzenlenebilir mi? Yani 32 bit ise "gerekli api" 64 bit ise "gerekli api" şeklinde bir düzenleme yapılabilir mi?
Eğer bu mümkün değilse her iki bilgisayara da aynı işletim sistemini kurmaktan başka çarem var mı?
İlgilenen tüm arkadaşlara teşekkürl ederim.
Not: Makinemde Windows 2007 64 bit ve Ofis 2007 kurulu.
Dosyamda aşağıdaki kodu kullanıyorum .64 bit makinede kullandığım dosyada 32 bit makinede değişiklik yapıp kapattıktan sonra tekrar 64 bitte açmaya çalıştığımda "Can't find project or library" hatası alıyorum. Forumda konuyla ilgili Sayın Murat Osma tarafından Office 2010 için önerilen aşağıdaki kodu denedim ama değişiklik yaptığımda tüm kod hata veriyor.
Sayın Murat Osma'nın önerisi;
Public Declare PtrSafe Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" _
(ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, _
ByVal lpReturnedString As String, ByVal nSize As Long) As Long
Çalışmamdaki kod;
Option Explicit
---
Public Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" _
(ByVal lpAppName As String, ByVal lpKeyName As String, _
ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long
---
Public Function Varsayılan_Yazıcı() As String
Dim Varsayılan_Yazıcı_Adı As String, Kontrol As Integer
Varsayılan_Yazıcı_Adı = Space(255)
Kontrol = GetProfileString("Windows", ByVal "device", "", _
Varsayılan_Yazıcı_Adı, Len(Varsayılan_Yazıcı_Adı))
If Kontrol Then
Varsayılan_Yazıcı_Adı = Left(Varsayılan_Yazıcı_Adı, InStr(Varsayılan_Yazıcı_Adı, ",") - 1)
End If
Varsayılan_Yazıcı = Varsayılan_Yazıcı_Adı
End Function
Forumda bir ara, bilgisayarda kurulu olan windows işletim sistemini kontrol edecek şekilde hazırlanmış bir çalışmaya rastlamıştım diye hatırlıyorum. Buna istinaden şu soruyu sormak istiyorum;
Söz konusu api kullanılan makinedeki işletim sistemini algılayacak şekilde düzenlenebilir mi? Yani 32 bit ise "gerekli api" 64 bit ise "gerekli api" şeklinde bir düzenleme yapılabilir mi?
Eğer bu mümkün değilse her iki bilgisayara da aynı işletim sistemini kurmaktan başka çarem var mı?
İlgilenen tüm arkadaşlara teşekkürl ederim.
Not: Makinemde Windows 2007 64 bit ve Ofis 2007 kurulu.