32 / 64 bit sorunu

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.
 
Üst