|
Opps! My bad! Following the docs for MAPIFolder and MailItems you must use the built in Iterator Methods of the MAPIFolder. These of GetFirst(), GetNext(), GetLast(), and GetPrevious().
Dim olApp As New Outlook.Application
Dim mailItem As Outlook.MailItem
Dim nSpace As Outlook.NameSpace
Dim ibFolder As Outlook.MAPIFolder
nSpace = olApp.GetNamespace("MAPI")
ibFolder = nSpace.GetDefaultFolder(OlDefaultFolders.olFolderInbox)
Debug.WriteLine("Number of messages in folder " & ibFolder.Name & ": " & ibFolder.Items.Count)
mailItem = ibFolder.Items.GetFirst()
While (Not mailItem Is Nothing)
Debug.WriteLine("Message Header: " & mailItem.Subject)
mailItem = ibFolder.Items.GetNext()
End While
Microsoft didn't do the greatest job in the world with the documentation on the Office Object Models...
RageInTheMachine9532
|
|
|
|
|
thank you very much RageIn...
|
|
|
|
|
Hi..
I have the following code
<br />
Dim ie As New SHDocVw.InternetExplorer<br />
ie = CreateObject("InternetExplorer.Application")<br />
<br />
With ie<br />
.Visible = False<br />
.Navigate("c:\OutLookStyle.html")<br />
.ExecWB(SHDocVw.OLECMDID.OLECMDID_PRINT, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER) 'printing the file without showing the print dialog<br />
System.Threading.Thread.Sleep(5000) 'pausing the application to finish printing<br />
End With<br />
ie.Quit()
But i'm getting the following error whenever the project execute
.ExecWB(....)
An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in emailPrint.exe
Additional information: Trying to revoke a drop target that has not been registered
(OR)
An error has occurred in the script o this page
Line: 288
Char: 1
Error: 'dialogArguments.__IE_PrintType' is null or not an object
Code: 0
URL: res://c:\\windows\system32\shdoclc.dll/priview.dlg
Do you want to continue running scripts on this page? Yes/No?
But I have no problem or whatsoever, if I debug and put a breakline on .ExecWB(..). the html page get printed without showing printdialog as I excepted. If I dont have a breakline at .ExecWB(..) then I got either or both of above errors( in red )
what would be the reason of getting such errors? and How can i print the web page to printer without showing PrintDialog???
|
|
|
|
|
Hi,
how do i print to the printer from right to left with vb.net
example in vb6:
Printer.RightToLeft = True
Printer.Print "abcd"
Printer.EndDoc
please send me small example
thanking you in advance
From:
yulyos@yahoo.com
http://www.go.to/yulyos
|
|
|
|
|
In Visual Basic 6.0, the Printer object was used for printing; it supported various graphics methods such as Print, Line, and PaintPicture to control what was printed.
In Visual Basic .NET, the PrintDocument component replaces the Printer object. Equivalent graphics methods include the DrawString, DrawLine, and DrawImage methods of the Graphics class.
Imports System.Drawing.Printing
Dim printer As New PrintDocument
printer.Print()
|
|
|
|
|
Hi,
every word you wrote it's right.
but where is the answer about:
how do i print to the printer from right to left with vb.net
thanking you in advance
From:
yulyos@yahoo.com
http://www.go.to/yulyos
|
|
|
|
|
|
RightToLeft No longer necessary. The direction of printing is controlled by the localization settings in Windows.
Yes I know, but it is not working
From:
yulyos@yahoo.com
http://www.go.to/yulyos
|
|
|
|
|
I see.. let me see it then..
|
|
|
|
|
Hi all....
I am working on a VB.net application at attaches to a database in disconnected mode. I am haveing trouble retreving an autonumber field. Here is the code as I have it now:
Dim drw1 As DataRow = das3.Tables("tomdb").NewRow()
drw1("Name") = TextBox3.Text
drw1("function") = TextBox4.Text
If RadioButton1.Checked Then
drw1("accesslevel") = "1"
ElseIf RadioButton2.Checked Then
drw1("accesslevel") = "2"
ElseIf RadioButton3.Checked Then
drw1("accesslevel") = "3"
Else
drw1("accesslevel") = "3"
End If
drw1("UserID") = Integer.MaxValue
das3.Tables("tomDB").Rows.Add(drw1)
AddHandler dap3.RowUpdated, New OleDb.OleDbRowUpdatedEventHandler(AddressOf OnRowUpdated)
--------------------------------------------------------------------------------------
Private Sub OnRowUpdated(ByVal sender As Object, ByVal args As OleDb.OleDbRowUpdatedEventArgs)
Dim int1 As Integer = 0
Dim cmd1 As OleDb.OleDbCommand = New OleDb.OleDbCommand("SELECT @@IDENTITY", cnn3)
If args.StatementType = StatementType.Insert Then
int1 = CInt(cmd1.ExecuteScalar())
args.Row("UserID") = int1
End If
End Sub
--------------------------------------------------------------------------------------
In my code it should retreve the next record number but all I get is a 0.
Any ideas?
Gonz
|
|
|
|
|
This is a text app I whiped up. The Button1_Click works and Button2_Click does not.
You have to get the value before the connection is closed.
<br />
Private m_connection As OleDb.OleDbConnection <br />
<br />
Private m_connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source="<br />
<br />
Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)<br />
MyBase.OnLoad( e )<br />
m_connectionString &= HunterDev.Environment.GetUserFolderPath( SpecialFolders.Personal ) & "\db1.mdb"<br />
End Sub<br />
<br />
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click<br />
If ( m_connection Is Nothing ) Then<br />
m_connection = New OleDb.OleDbConnection( m_connectionString )<br />
End If<br />
Dim command As New OleDb.OleDbCommand( "INSERT INTO Sample ( Name ) VALUES ( '" & TextBox1.Text & "' )", m_connection )<br />
Dim idCommand As New OleDb.OleDbCommand( "SELECT @@IDENTITY", m_connection )<br />
If ( m_connection.State <> ConnectionState.Open ) Then<br />
m_connection.Open()<br />
End If<br />
command.ExecuteNonQuery()<br />
Dim id As Integer = CInt( idCommand.ExecuteScalar() )<br />
If ( m_connection.State <> ConnectionState.Closed ) Then<br />
m_connection.Close()<br />
End If<br />
TextBox2.AppendText( id.ToString() & vbCrLf )<br />
End Sub<br />
<br />
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />
Dim idCommand As New OleDb.OleDbCommand( "SELECT @@IDENTITY", m_connection )<br />
If ( m_connection.State <> ConnectionState.Open ) Then<br />
m_connection.Open()<br />
End If<br />
Dim id As Integer = CInt( idCommand.ExecuteScalar() )<br />
If ( m_connection.State <> ConnectionState.Closed ) Then<br />
m_connection.Close()<br />
End If<br />
TextBox2.AppendText( id.ToString() & vbCrLf )<br />
End Sub<br />
Bo Hunter
|
|
|
|
|
Hi,
We are trying to auto compress files through the command prompt. The problem is the file we would like to compress changes every 15 minutes as it is archived using DTS making it hard to code a specific file name, and we dont want to zip them all up incase the zip file becomes corrupt then we loose them all.
We purchased WINRAR command prompt, and need to find a way to write a script, or something that will read the contents of a directory, and give us the most current file that was saved.
Has anyone done this, and if so is there code that would be usable somewhere..??
Thanks,
-David
|
|
|
|
|
Look up the FileSystemObjct on MSDN, or if you fancy doing it by the seat of your pants so to speak, just set a project reference to WindowsScriptingHost (??? - Dunno).
With the reference set, something like
set oMyFSO = new WindowsScriptHost.FileSystemObject
Should allow you to access all sorts of objects and methods for dealing with the filesystem (F2 = Object browser which will prob help!)
"Now I guess I'll sit back and watch people misinterpret what I just said......"
Christian Graus At The Soapbox
|
|
|
|
|
Why does this not work?
Dim appword As Object
Public Sub start()
Set appword = CreateObject("Word.Application")
If appword Is Nothing Then
MsgBox "appword = Nothing"
Else
appword.Visible = 1
End If
MsgBox "Test"
MsgBox "Test2"
End Sub
---
appword is allways nothing, CreateObject does not work...
Is there any hidden security setting in Office 2000 I dont
know?
bb |~ bb
|
|
|
|
|
Dim appword As Object
should come after Public Sub start()
|
|
|
|
|
NOt necessarily - could be a member variable of his form, and not just a local - maybe it needs to be used by other functions / subs
"Now I guess I'll sit back and watch people misinterpret what I just said......"
Christian Graus At The Soapbox
|
|
|
|
|
Did you add a reference to Word10 ? Then you can just declare it like so:
Dim appWord as Word.Application
Set appWord = New Word.Application
Nick Seng (the programmer formerly known as Notorious SMC)
God, I pity me! - Phoncible P. Bone
|
|
|
|
|
hello,
I want to send a pointer from my VB client app. to a VC dll the code is :
for VB
-------
Private Declare Sub GenerateReport Lib "Generator.dll" (ByVal datele As ADODB.Recordset)
Private Sub Command1_Click()
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
c = "PROVIDER=sqloledb;server=romulus;uid=sa;pwd=951;DataBase=SindServLast"
Set con = New ADODB.Connection
con.Open c
Dim s As String
s = "select * from T_USR_Useri"
Set rs = con.Execute(s)
GenerateReport rs
End Sub
fot VC dll
-----------
void GenerateReport(_RecordsetPtr pRs)
{
pRs->MoveFirst();
CString text;
text=(char*)((_bstr_t)pRs->Fields->GetItem((_variant_t)("usr_LoginName"))->Value);
}
and everything works fine in vc ... the pointer is recived correctly and the text CString is filled ok but after that when my c++ function ends and the execution returns to VB the VB client crushes ... and raise an access violation error in a vb dll ...
why ?
thanks !!!!!
|
|
|
|
|
My be due to passing the object by value rather than reference (but no promises!)
Try :
GenerateReport ByRef rs
"Now I guess I'll sit back and watch people misinterpret what I just said......"
Christian Graus At The Soapbox
|
|
|
|
|
I have a ASP.net application written in VB.Net which is the main application. I have another ASP.net application written in C#. I want to integrate the C# project files into the VB.net project ( without having to convert C# code to VB.net ) . The C# project contains few aspx pages and couple of C# utility classes.
What would be the best way to integrate the C# files into VB.net project and run these successfully within the ASP.net app?
Thanks
Madhuri Mittal
Madhuri Mittal
|
|
|
|
|
Hello,
I am successfully using the following under Excel 2000:
Worksheets("Search_Results").Range("A3:AU310").Clear
Unfortunately, this call fails in Excel 97. The error is 1004.
Also the following line of code fails in 97 and runs perfectly under Excel 2000:
Cells(i, k).Copy Destination:=Worksheets("Search_Results").Cells(m, k)
Please help!
Thank you in advance...
"Needless redundancy is the hobgoblin of software engineering." - Peter Darnell
|
|
|
|
|
I was just wondering how one would programmatically...
1. Eject a CD
2. Transfer data using an IR (Infrared) Port
...using Visual Basic.Net Language. I looked around the site, and couldn't find anything on either of these tasks. Thanks in advance for any help.
|
|
|
|
|
From the platform SDK:
DWORD WINAPI EjectDiskFromSADrive(
LPCWSTR lpComputerName,
LPCWSTR lpAppName,
LPCWSTR lpDeviceName,
HWND hWnd,
LPCWSTR lpTitle,
LPCWSTR lpMessage,
DWORD dwOptions
);
that should eject your CD
There are many ways to access the IR port. If you have the correct drivers, it is a Winsock call, or if you want to access it directly, use the "EscapeCommFunction" calls
pxw
|
|
|
|
|
if we want to eject a flash, what shold we do?
my code is
DWORD ret = 0;
ret = EjectDiskFromSADrive( NULL, NULL, "\ \. \ RemovableDriveI"/*+m_Repository.m_FlashMemoryInf.DriveName*/, NULL, NULL, NULL, NTMS_EJECT_FORCE );
switch(ret)
{
case ERROR_ACCESS_DENIED: printf("NTMS_CONTROL_ACCESS to the library is denied. Other security errors are also possible, but they would indicate a security subsystem error."); break;
case ERROR_DATABASE_FAILURE: printf("The database is inaccessible or damaged."); break;
case ERROR_DATABASE_FULL: printf("The database is full."); break;
case ERROR_DEVICE_NOT_AVAILABLE: printf("The library is disabled."); break;
case ERROR_INVALID_HANDLE: printf("The session ID is invalid or missing."); break;
case ERROR_INVALID_OPERATION: printf("A stop was performed on an invalid operation ID."); break;
case ERROR_INVALID_PARAMETER: printf("A library ID or operation ID pointer is missing."); break;
case ERROR_LIBRARY_OFFLINE: printf("The library ID refers to an offline library that cannot eject media."); break;
case ERROR_MEDIA_NOT_AVAILABLE: printf("The media is disabled."); break;
case ERROR_NOT_ENOUGH_MEMORY: printf("There was an allocation failure during processing."); break;
case ERROR_SUCCESS: printf("The eject operation was successful."); break;
};
but it has always ERROR_INVALID_PARAMETER.
please help me
|
|
|
|
|
Hi,
I am trying to implement an VB GUI application where in when I click a command button "Send" it enables a frame and this frame has some text boxes. The user enters some string in the text box and clicks another command button "ok", which is in the frame. When "ok" is clicked the remaining code in the Send_Click()should continue. I realize I need to use some kind of wait or events, but I am not sure how. If anyone can help me out it'll be great!
thanks,
Shyam
|
|
|
|