برای اون حالت من راهی پیدا نکردم
ببنید نیاز نیست حتما اون شیت فعال باشه شما شیت رو مخفی کن همین!! وقتی درخواست داده شد
شما از اکسل انتظار برنامه C رو نداشته باشین.
این کدهایی که با رنگ قرمز نشون دادم رو قرار بدین مشکلتون حل میشه
رنگ سبز رو هم تو کد قبلی ی سره هست مثل این رنگ جدا کنید
ببنید نیاز نیست حتما اون شیت فعال باشه شما شیت رو مخفی کن همین!! وقتی درخواست داده شد
شما از اکسل انتظار برنامه C رو نداشته باشین.
کد:
Private Declare PtrSafe Sub keybd_event Lib "user32" (ByVal bVk As Byte, _ ByVal bScan As Byte, _ ByVal dwFlags As Long, _ ByVal dwExtraInfo As Long) Private Const VK_LMENU = &HA4 Private Const VK_SNAPSHOT = &H2C Private Const VK_CONTROL = &H11 Private Const VK_V = &H56 Private Const VK_0x79 = &H79 Private Const KEYEVENTF_EXTENDEDKEY = &H1 Private Const KEYEVENTF_KEYUP = &H2 Private Sub CommandButton1_Click() Dim sAppOs As String Dim wks As Worksheet 'get oparating system Call d sAppOs = Application.OperatingSystem Application.DisplayAlerts = False Application.ScreenUpdating = False If Mid(sAppOs, 18, 2) = "NT" Then ' WinNT,Windows2000,WindowsXP - Using Win32API Call keybd_event(VK_LMENU, VK_V, KEYEVENTF_EXTENDEDKEY, 0) Call keybd_event(VK_SNAPSHOT, VK_0x79, KEYEVENTF_EXTENDEDKEY, 0) Call keybd_event(VK_LMENU, VK_V, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0) Call keybd_event(VK_SNAPSHOT, VK_0x79, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0) Else ' Windows95,Windows98,WindowsME Call keybd_event(VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY, 0) Call keybd_event(VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0) End If DoEvents Unload Me [COLOR=#ff0000]Sheet2.Visible = xlSheetVisible[/COLOR] [COLOR=#00ff00] Sheet2.Select[/COLOR] [COLOR=#00ff00] Range("A1").Select[/COLOR] ActiveSheet.Paste 'wks.SaveAs Filename:="D:/myfile.htm", FileFormat:=xlHtml 'wks.Parent.Close False Worksheets("ab").PrintPreview Application.ScreenUpdating = True Application.DisplayAlerts = True [COLOR=#ff0000] Sheet2.Visible = xlSheetHidden[/COLOR] End Sub
رنگ سبز رو هم تو کد قبلی ی سره هست مثل این رنگ جدا کنید
کامنت