|
I have a macro in Excel VBA.
I was running it by hot-keying it to control q, but now that all other things are up and running live, I wanted to perform the macro immediately upon opening the file.
No Problem, I thought, I would just move the macro to Private Sub Workbook_Open () / End Sub and that would be it.
Alas not.
I have no problem, I just put a Call in there instead, but I was wondering why I couldn't cut and paste the stuff in and expect it to work!
Am I missing something basic? (no pun intended)
------------------------------------
"Your manuscript is both good and original. But the part that is good is not original, and the part that is original is not good."
Dr Samuel Johnson
|
|
|
|
|
I have an Excel spreadsheet which contains some dates that need to be converted using the function JDE2Date. It appears to work - but i get a runtime erroe 1004 Application-defined or object defined error on row 18,059. The value of the cell shows as -699947. My application crashed there. Any Ideas?
Private Sub Worksheet_Activate()
Dim rowcount As Long
For rowcount = 2 To Me.Rows.Count
Dim value As String
value = Range("D" & rowcount).value
Range("D" & rowcount).value = JDE2Date(value)
Next
rowcount = 0
value = ""
For rowcount = 2 To Me.Rows.Count
value = Range("E" & rowcount).value
Range("E" & rowcount).value = JDE2Date(value)
Next
End Sub
Public Function JDE2Date(ByVal plngDate As Long) As Date
' This Function takes a JDE Julian Date and Converts it to a Microsoft Date
Dim lngYear As Long
Dim lngDay As Long
Dim dtFirstDayOfYear As Date
' Calculate Date
lngDay = plngDate Mod 1000
lngYear = ((plngDate - lngDay) / 1000) + 1900
dtFirstDayOfYear = CDate("1/1/" & lngYear)
lngDay = lngDay - 1
JDE2Date = dtFirstDayOfYear + lngDay
End Function
|
|
|
|
|
Well, the function works. What's the data that it's trying to convert?? The number you supplied does convert to a date, but in the year 1198.
|
|
|
|
|
hi.......
i did one project in vb.net.....i used crystal report and crystal report viewer to generate report...... while running one error occurred like this......" load report failed ..... how to solve this error......
|
|
|
|
|
Any more details on that error message?
Is the .rpt file existing?
Tosch
|
|
|
|
|
see this routine...this routine is loading all albums and photos in from database in to tree view control
[code]
Public Sub LoadAlbums()
enlarge()
Dim i As Integer
lblAlbum.Visible = True
ProgressBar1.Visible = True
For i = 1 To 100 Step 6
ProgressBar1.Value = +i
Dim objAlbums As New Albums()
treeAlbum.Nodes.Clear()
Using oReader As SqlDataReader = objAlbums.GetAlbumsAndPhotos()
Dim AlbumNode As TreeNode
Dim PreviousAlbumID As Integer = 0
Dim CurrentAlbumID As Integer = 0
Dim AlbumDesc As String
Dim AlbumName As String
Dim PhotoName As String
Dim PhotoID As Integer
Dim PhotoData() As Byte
Dim PhotoDesc As String
Dim iAlbumId As Integer
Dim iAlbumDesc As Integer
Dim iAlbumName As Integer
Dim iPhotoID As Integer
Dim iPhotoName As Integer
Dim iPhotoData As Integer
Dim iPhotoDesc As Integer
Try
Dim imgList As New ImageList()
'Add image to represent an Album from resources
Dim albumImg As Image = My.Resources.IMG
imgList.Images.Add("Album", albumImg)
imgList.ColorDepth = ColorDepth.Depth32Bit
treeAlbum.ImageList = imgList
iAlbumId = oReader.GetOrdinal("AlbumID")
iAlbumDesc = oReader.GetOrdinal("Album_Desc")
iAlbumName = oReader.GetOrdinal("Album")
iPhotoID = oReader.GetOrdinal("PhotoID")
iPhotoName = oReader.GetOrdinal("Photo")
iPhotoData = oReader.GetOrdinal("PhotoData")
iPhotoDesc = oReader.GetOrdinal("Photo_Desc")
While oReader.Read()
CurrentAlbumID = oReader.GetInt32(iAlbumId)
If CurrentAlbumID <> PreviousAlbumID Then
AlbumName = oReader.GetString(iAlbumName)
If oReader.IsDBNull(iAlbumDesc) Then
AlbumDesc = ""
Else
AlbumDesc = oReader.GetString(iAlbumDesc)
End If
AlbumNode = AddAlbumToTree(AlbumName, AlbumDesc, CurrentAlbumID)
End If
PreviousAlbumID = CurrentAlbumID
PhotoID = oReader.GetInt32(iPhotoID)
PhotoName = oReader.GetString(iPhotoName)
PhotoData = DirectCast(oReader.GetValue(iPhotoData), Byte())
If oReader.IsDBNull(iPhotoDesc) Then
PhotoDesc = ""
Else
PhotoDesc = oReader.GetString(iPhotoDesc)
End If
AddImageToTree(AlbumNode, PhotoName, PhotoID, PhotoDesc, PhotoData)
End While
btnNewAlbum.Enabled = True
mnuNewAlbum.Enabled = True
Catch ex As Exception
MessageBox.Show(ex.ToString())
Finally
oReader.Close()
End Try
End Using
Next
Application.DoEvents()
lblAlbum.Visible = False
ProgressBar1.Visible = False
End Sub
[/code]
i want to run a progress bar as long these photos are being loaded i want that progress bar should work
i m doing as
[code]
For i = 1 To 100 Step 6
ProgressBar1.Value = +i
[/code]
but this is loading albums and photos again and again
i want that it should be work perfectly
how can i achieve above task using a progress bar or can i do that through marquee progress,if yes then how??
thanks
Aamir Mustafa
|
|
|
|
|
Aamir Mustafa wrote: but this is loading albums and photos again and again
Of course it is, you have put your load in the for loop:
For i = 1 To 100 Step 6
ProgressBar1.Value = +i
Dim objAlbums As New Albums()
treeAlbum.Nodes.Clear()
Using oReader As SqlDataReader = objAlbums.GetAlbumsAndPhotos()
etc
next
To make your progress bar work properly you need to update it in the reader bit:
While oReader.Read()
do all your code and update progress bar
You may want to consider a background thread to keep the UI responsive.
Bob
Ashfield Consultants Ltd
Proud to be a 2009 Code Project MVP
|
|
|
|
|
Look at this picture:
http://img24.imageshack.us/img24/4117/clipboard02ca4nj6.png
My usercontrol has its own designer, which inherits from Windows.Forms.Design.ControlDesigner.
Maybe i can override some properties or something? :P
|
|
|
|
|
Sub ShutDown(sNodes, sAction)
Dim sNode, oWMI, colOperatingSystems, obj, oOS, iCMD, nERR, objShell
Const EWX_LOGOFF = 0
Const EWX_SHUTDOWN = 1
Const EWX_REBOOT = 2
Const EWX_FORCE = 4
Const EWX_POWEROFF = 8
For Each sNode In Split(sNodes, ",")
Set oWMI = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,(Shutdown)}!\\" & sNode & "\root\cimv2")
Set colOperatingSystems = oWMI.ExecQuery("Select * from Win32_OperatingSystem")
For Each obj In colOperatingSystems
Set oOS = obj: Exit For
Next
sAction = LCase(sAction)
Select Case sAction
Case "logoff"
iCMD = EWX_LOGOFF
Case "logoff_force"
iCMD = EWX_LOGOFF + EWX_FORCE
Case "shutdown"
iCMD = EWX_SHUTDOWN
Case "shutdown_force"
iCMD = EWX_SHUTDOWN + EWX_FORCE
Case "reboot"
iCMD = EWX_REBOOT
Case "reboot_force"
iCMD = EWX_REBOOT + EWX_FORCE
Case "poweroff"
iCMD = EWX_POWEROFF
Case "poweroff_force"
iCMD = EWX_POWEROFF + EWX_FORCE
Case "hybernate"
On Error Resume Next
Set objShell = CreateObject("Wscript.Shell")
objShell.Run "%windir%\System32\rundll32.exe PowrProf.dll,SetSuspendState"
self.Close
exit sub
Case Else ' Default value
iCMD = EWX_POWEROFF
End Select
Next
oOS.Win32shutdown cint(iCmd),cint(0)
End Sub
Hi,
I use this code to shutdown and reboot my PC. However logoff and poweroff will not work on an windows XP. This code came from MS.
Someona has an idee to solve this?
Ths code must be in script
Jan
|
|
|
|
|
I had a problem when you shut-down the PC it did not power off. This was related to the incorrect power management settings in the BIOS.
Would that have anything to do with it?
Cheers,
|
|
|
|
|
I don't think so. My settings are fine and the PC start up fine on the other options
|
|
|
|
|
jan212r wrote: oOS.Win32shutdown cint(iCmd),cint(0)
This line returns a value that you're not picking up. What's the returned value??
|
|
|
|
|
Becourse I don't need that value(normely the pc must close) I did not program it however it gives 6a6 (1702) as error
|
|
|
|
|
First, shouldn't that Win32Shutdown line be above the Next statement it's sitting under??
jan212r wrote: Becourse I don't need that value(normely the pc must close)
Well, obviously you do, because it's returning an error that you can use to try and diagnose this. That error code is that the binding handle is invalid. This leads me to believe that either the account you're running this code under doesn't have sufficient permissions on the remote PC to shut it down (there is a privilege listed in the Win32_OperatingSystem documentation) or there is a problem with the WMI installation on those machines.
|
|
|
|
|
how can i check an 8 bit hexadecimal number in a textbox bit by bit??..txx
hv a nice day!!!
|
|
|
|
|
What do you mean?
Do you mean that if you have FF you want to show this as 11111111 in a text box?
|
|
|
|
|
no..if i enter AAAAAAAA, the output is AAAAAAAA..
but i need to validate first that the input AAAAAAAA is Hexa..so how??
thanks for ur help..
|
|
|
|
|
regex? Or handling keypress for [0-9],[A-F]?
|
|
|
|
|
|
regex? Or handling keypress for [0-9],[A-F]?
can u explain to me in details?
sorry im new VB programmer..
|
|
|
|
|
Check out the keypress event and google for data validation
|
|
|
|
|
Hi There Guys
I was recently given a project/system from a guy working for a particular company.
The system should capture their daily activities, etc. and then give feedback:
e.g. Does the data show a decrease in scrap in the last 6 months, etc.
(if so, allow a graph to be printed that shows this data)
I know about the drawing functions, but so far have only used to make images, etc. for printouts.
I have never created a drawing, graph or anything similar to be displayed on the form itself.
Could anyone please tell me if this is even possible, and perhaps how I might go about achieving this.
Really lost on this one!
Thanks in advance!
See Ya
|
|
|
|
|
|
Hi. I'm trying to send an array of UDT from Excel VBA to a C++ dll but have no idea which direction I should look. Here's what I'm trying to do
MyTestDLL.cpp
#pragma pack(4)
struct MyCppType
{
short iVal;
double dVal;
BSTR bstr;
};
#pragma pack()
void _stdcall MyDllFunction (array of MyCppType)
{
}
MyTestDLL.def
LIBRARY "MyTestDll"
EXPORTS
MyDllFunction @1
MyTestExcel.xlsm
Option Explicit
Declare Sub MyDllFunction Lib "MyTestDLL.dll" (arr() As MyVbaType)
Type MyVbaType
iVal As Integer
dVal As Double
sVal As String
End Type
Sub Test()
Dim arr(2) As MyVbaType
arr(1).iVal = 1
arr(1).dVal = 1.1
arr(1).sVal = "one"
arr(2).iVal = 2
arr(2).dVal = 2.2
arr(2).sVal = "two"
MyDllFunction (arr)
End Sub
|
|
|
|
|
You'd be better off asking this in the Visual C++ forum. It looks like you don't have the declaration in your C++ code correct. But, it's been about 8 years since I done something like this, so I'm not an expert in it.
|
|
|
|