Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Boolean Misread
If FtpFail = True Then
MsgBox "Order has been successfully Exported." Else MsgBox "Order has been saved but it has not been exported. Please check your connection to the internet and try again." End If FtpFail is a global Public Variable Dimmed as a Boolean The variable is read by an API call to write a file to an FTP server Even if FtpFail = True (by stepping through the program and a msgbox and debug message I always get true, and the file actually writes) it always Displays the error message for False, regardless of what the value of FtpFail actually is. am i doing something wrong? -- When you lose your mind, you free your life. |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Boolean Misread
ben,
It looks like your variable is misnamed. Shouldn't FtpFail be called FtpSucceed? However, I don't think that's the problem. Maybe you should try explicitly testing for False before Else: If FtpSucceed = True Then MsgBox "Order has been successfully Exported." ElseIf FtpSucceed = False Then MsgBox "Order has been saved but it has not been exported. Please check your connection to the internet and try again." Else MsgBox "I don't know what's going on!!!" End If hth, Doug "ben" (remove this if mailing direct) wrote in message ... If FtpFail = True Then MsgBox "Order has been successfully Exported." Else MsgBox "Order has been saved but it has not been exported. Please check your connection to the internet and try again." End If FtpFail is a global Public Variable Dimmed as a Boolean The variable is read by an API call to write a file to an FTP server Even if FtpFail = True (by stepping through the program and a msgbox and debug message I always get true, and the file actually writes) it always Displays the error message for False, regardless of what the value of FtpFail actually is. am i doing something wrong? -- When you lose your mind, you free your life. |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Boolean Misread
result = msgbox "I don't know what's going on!"
it didn't read as true or False and btw I had a laugh about my misnamed variable -- When you lose your mind, you free your life. Ever Notice how we use '' for comments in our posts even if they aren''t expected to go into the code? "Doug Glancy" wrote: ben, It looks like your variable is misnamed. Shouldn't FtpFail be called FtpSucceed? However, I don't think that's the problem. Maybe you should try explicitly testing for False before Else: If FtpSucceed = True Then MsgBox "Order has been successfully Exported." ElseIf FtpSucceed = False Then MsgBox "Order has been saved but it has not been exported. Please check your connection to the internet and try again." Else MsgBox "I don't know what's going on!!!" End If hth, Doug "ben" (remove this if mailing direct) wrote in message ... If FtpFail = True Then MsgBox "Order has been successfully Exported." Else MsgBox "Order has been saved but it has not been exported. Please check your connection to the internet and try again." End If FtpFail is a global Public Variable Dimmed as a Boolean The variable is read by an API call to write a file to an FTP server Even if FtpFail = True (by stepping through the program and a msgbox and debug message I always get true, and the file actually writes) it always Displays the error message for False, regardless of what the value of FtpFail actually is. am i doing something wrong? -- When you lose your mind, you free your life. |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Boolean Misread
Hmm evidently The VBA Boolean Type and the value returned from the API call
weren't matching, by removin "As Boolean" in the Dim FtpFail Statement it worked as intended. -- When you lose your mind, you free your life. Ever Notice how we use '' for comments in our posts even if they aren''t expected to go into the code? "ben" wrote: result = msgbox "I don't know what's going on!" it didn't read as true or False and btw I had a laugh about my misnamed variable -- When you lose your mind, you free your life. Ever Notice how we use '' for comments in our posts even if they aren''t expected to go into the code? "Doug Glancy" wrote: ben, It looks like your variable is misnamed. Shouldn't FtpFail be called FtpSucceed? However, I don't think that's the problem. Maybe you should try explicitly testing for False before Else: If FtpSucceed = True Then MsgBox "Order has been successfully Exported." ElseIf FtpSucceed = False Then MsgBox "Order has been saved but it has not been exported. Please check your connection to the internet and try again." Else MsgBox "I don't know what's going on!!!" End If hth, Doug "ben" (remove this if mailing direct) wrote in message ... If FtpFail = True Then MsgBox "Order has been successfully Exported." Else MsgBox "Order has been saved but it has not been exported. Please check your connection to the internet and try again." End If FtpFail is a global Public Variable Dimmed as a Boolean The variable is read by an API call to write a file to an FTP server Even if FtpFail = True (by stepping through the program and a msgbox and debug message I always get true, and the file actually writes) it always Displays the error message for False, regardless of what the value of FtpFail actually is. am i doing something wrong? -- When you lose your mind, you free your life. |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Boolean Misread
Just a shot in the dark but.... I think VBA interprets True and False as -1
and 0 respectively where as your API call might be using 1 and 0. Perhaps you could try typecasting the response from your API call: FtpFail = CBool(ApiCall(ApiParams)) -- Charles Chickering "A good example is twice the value of good advice." "ben" wrote: Hmm evidently The VBA Boolean Type and the value returned from the API call weren't matching, by removin "As Boolean" in the Dim FtpFail Statement it worked as intended. -- When you lose your mind, you free your life. Ever Notice how we use '' for comments in our posts even if they aren''t expected to go into the code? "ben" wrote: result = msgbox "I don't know what's going on!" it didn't read as true or False and btw I had a laugh about my misnamed variable -- When you lose your mind, you free your life. Ever Notice how we use '' for comments in our posts even if they aren''t expected to go into the code? "Doug Glancy" wrote: ben, It looks like your variable is misnamed. Shouldn't FtpFail be called FtpSucceed? However, I don't think that's the problem. Maybe you should try explicitly testing for False before Else: If FtpSucceed = True Then MsgBox "Order has been successfully Exported." ElseIf FtpSucceed = False Then MsgBox "Order has been saved but it has not been exported. Please check your connection to the internet and try again." Else MsgBox "I don't know what's going on!!!" End If hth, Doug "ben" (remove this if mailing direct) wrote in message ... If FtpFail = True Then MsgBox "Order has been successfully Exported." Else MsgBox "Order has been saved but it has not been exported. Please check your connection to the internet and try again." End If FtpFail is a global Public Variable Dimmed as a Boolean The variable is read by an API call to write a file to an FTP server Even if FtpFail = True (by stepping through the program and a msgbox and debug message I always get true, and the file actually writes) it always Displays the error message for False, regardless of what the value of FtpFail actually is. am i doing something wrong? -- When you lose your mind, you free your life. |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
Boolean Misread
I don't know much about APIs but I think Charles is right about the
different interpretations of True and False between Excel and APIs. If it was me, I'd try to find out what value the API returns for success and failure and then declare a variable of that type (long?) and just test for the 2 values. hth, Doug "Charles Chickering" wrote in message ... Just a shot in the dark but.... I think VBA interprets True and False as -1 and 0 respectively where as your API call might be using 1 and 0. Perhaps you could try typecasting the response from your API call: FtpFail = CBool(ApiCall(ApiParams)) -- Charles Chickering "A good example is twice the value of good advice." "ben" wrote: Hmm evidently The VBA Boolean Type and the value returned from the API call weren't matching, by removin "As Boolean" in the Dim FtpFail Statement it worked as intended. -- When you lose your mind, you free your life. Ever Notice how we use '' for comments in our posts even if they aren''t expected to go into the code? "ben" wrote: result = msgbox "I don't know what's going on!" it didn't read as true or False and btw I had a laugh about my misnamed variable -- When you lose your mind, you free your life. Ever Notice how we use '' for comments in our posts even if they aren''t expected to go into the code? "Doug Glancy" wrote: ben, It looks like your variable is misnamed. Shouldn't FtpFail be called FtpSucceed? However, I don't think that's the problem. Maybe you should try explicitly testing for False before Else: If FtpSucceed = True Then MsgBox "Order has been successfully Exported." ElseIf FtpSucceed = False Then MsgBox "Order has been saved but it has not been exported. Please check your connection to the internet and try again." Else MsgBox "I don't know what's going on!!!" End If hth, Doug "ben" (remove this if mailing direct) wrote in message ... If FtpFail = True Then MsgBox "Order has been successfully Exported." Else MsgBox "Order has been saved but it has not been exported. Please check your connection to the internet and try again." End If FtpFail is a global Public Variable Dimmed as a Boolean The variable is read by an API call to write a file to an FTP server Even if FtpFail = True (by stepping through the program and a msgbox and debug message I always get true, and the file actually writes) it always Displays the error message for False, regardless of what the value of FtpFail actually is. am i doing something wrong? -- When you lose your mind, you free your life. |
#7
Posted to microsoft.public.excel.programming
|
|||
|
|||
Boolean Misread
Just to add, you could do
If FtpSucceed Then Any non-zero value will be evaluated as True Change the order of your if statement. If FtpFail Then MsgBox "Order has been saved but it has not been " & _ "exported. Please check your connection to the internet and try again." Else MsgBox "Order has been successfully Exported." End If -- Regards, Tom Ogilvy "Charles Chickering" wrote in message ... Just a shot in the dark but.... I think VBA interprets True and False as -1 and 0 respectively where as your API call might be using 1 and 0. Perhaps you could try typecasting the response from your API call: FtpFail = CBool(ApiCall(ApiParams)) -- Charles Chickering "A good example is twice the value of good advice." "ben" wrote: Hmm evidently The VBA Boolean Type and the value returned from the API call weren't matching, by removin "As Boolean" in the Dim FtpFail Statement it worked as intended. -- When you lose your mind, you free your life. Ever Notice how we use '' for comments in our posts even if they aren''t expected to go into the code? "ben" wrote: result = msgbox "I don't know what's going on!" it didn't read as true or False and btw I had a laugh about my misnamed variable -- When you lose your mind, you free your life. Ever Notice how we use '' for comments in our posts even if they aren''t expected to go into the code? "Doug Glancy" wrote: ben, It looks like your variable is misnamed. Shouldn't FtpFail be called FtpSucceed? However, I don't think that's the problem. Maybe you should try explicitly testing for False before Else: If FtpSucceed = True Then MsgBox "Order has been successfully Exported." ElseIf FtpSucceed = False Then MsgBox "Order has been saved but it has not been exported. Please check your connection to the internet and try again." Else MsgBox "I don't know what's going on!!!" End If hth, Doug "ben" (remove this if mailing direct) wrote in message ... If FtpFail = True Then MsgBox "Order has been successfully Exported." Else MsgBox "Order has been saved but it has not been exported. Please check your connection to the internet and try again." End If FtpFail is a global Public Variable Dimmed as a Boolean The variable is read by an API call to write a file to an FTP server Even if FtpFail = True (by stepping through the program and a msgbox and debug message I always get true, and the file actually writes) it always Displays the error message for False, regardless of what the value of FtpFail actually is. am i doing something wrong? -- When you lose your mind, you free your life. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
IF vs Boolean | Excel Discussion (Misc queries) | |||
More on Boolean | New Users to Excel | |||
Boolean formula | Excel Programming | |||
VBA Boolean | Excel Discussion (Misc queries) | |||
Boolean Question | Excel Programming |