|
Greetings,
I have been working feverishly to learn VB.NET with VS.NET Academic edition, however, I have run into a number of issues when trying to run programs having to do with .NET Framework types. I have been using Michael Halvorson's book: Visual Basic.Net Step-by-step.
The first time I tried to do an Excel Interop, I was instructed to create a variable as so:
<br />
dim xlApp as Excel.Application<br />
The problem here was I kept getting the "Blue squiggly" under Excel.Application (Type Excel.Application is not defined). This is what I had to do to get this program to work properly:
<br />
Dim xlApp As Microsoft.Office.Interop.Excel.Application<br />
It was suggested that I could add the following to the top of the form:
<br />
Imports Microsoft.Office.Interop<br />
What I don't understand is why the book doesn't mention this at all. Another book I have is 101 Visual Basic.NET Applications and it seems to make the same sorts of assumptions about .NET Framework Types that Halvorson did.
So I am wondering if the strict option is on and that's why I'm having this problem, or if there is some other "tweak" I've missed, or whether it is just because I have Visual Studio.NET 2003 Academic that I keep running into what seems like rather large omissions to me. Any ideas?
I should like to add that when I look at the examples provided with the book, they do not need to use the fully qualified names, they seem to work as advertised in the book.
|
|
|
|
|
Nope, you didn't miss anything. And it has nothing to do with the Option Strict statement or anything else in the Academic version of VS.NET. All you have to do to fix the little blue squiggly is Import the namespace.
The book might also have gone and added the namespace import to the Project Properties. Go to the Project menu and select the Properties (last line in the menu), then click on Common Properties, then Imports, and you'll see a list of namespaces that are automatically imported into your project when it's compiled. You could add the Microsoft.Office.Interop namespace to this list and you'll see the exact same thing the book shows. In order to write the book and examples, it is possible that the authors made their own custom Windows Application template and included the M.O.Interop namespace in this list.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Thanks for explaining that for me Dave. It was driving me nuts!
Still coaxing software out of the can after all these years...
|
|
|
|
|
I didn't find anything where you told me to look that looked like an Excel Interop. Curiouser and curiouser...
Still coaxing software out of the can after all these years...
|
|
|
|
|
No, it's not going to be there unless you add it! I said, the authors probably put it there in their projects when they built the examples. That way, they don't have to keep typing in the same Import statement, example after example. If you want the same functionality, you will have to either create your own Project Template (which the Academic version doesn't support!), or just type in the Imports Microsoft.Excel.Interop at the top of each project.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Here's the thing. The book came with a cd which includes all the examples so I can see the author's version of the code. His works as the book does and I cannot find anything about his that is any different than mine.
Keeping in mind that he warns the user at the beginning of the book that he wrote his using Visual Studio.NET professional and that is what he recommends the readers to use. As far as I know, academic is the same as professional.
Well, either way, I know how to fix the problem...
Still coaxing software out of the can after all these years...
|
|
|
|
|
How do I use the installer?
|
|
|
|
|
What installer? Are you talking about creating an Installer Project for your solution?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Can someone please tell me how to put an icon (which is already created and stored as an icon file) on the top - left corner of the form and on the desktop?
|
|
|
|
|
In the properties of your Form, look for the Icon property. You can click on the button on this line and it will let you pick an icon from a file to use in the upper left corner of your form.
As for the desktop, this is NOT an icon, it's a shortcut pointing at your executable. The initial icon for this shortcut, when created, will be the icon used for the top left corner of your form.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Man...is everybody else off today? Seems like Dave and I are the only people here.;P
____________________________________________________________________________________
Does anybody (Dave ) know how to open a text file and load it into RichTextBox without using the OpenFileDialog?
I want a specific text file (the path will be hard coded, for now) to open and be read into a RichTextBox when the form opens.
Thanks
Brad
|
|
|
|
|
I got it!
RichTextBox1.LoadFile(filename As String)
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Thanks Dave;)
You make it all seem so easy...;P
|
|
|
|
|
Me? Nooooooo... Heath in the c# Forum makes it all seem easy. I'm learning new stuff from him every single day. I can't build test/learning projects fast enough to keep up with all the little tidbits I'm picking up from him.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Well, I’m just glad that you are here in VB.NET to help us.
Brad
|
|
|
|
|
I asked this question earlier but I’m not sure if I’m asking it correctly or if it is just something that nobody knows how to do. I’ve spent days scouring the Internet and reading books and just can’t see how to do this one thing:
Display Thumbnails in a List Box
My Scenario:
I’ve created an explorer type application with a TreeView and a ListView. The TreeView is used to navigate through the directories on my computer. The ListView displays the contents of each directory.
What I want to do:
Instead of displaying a generic icon, I want to display a thumbnail view of every image file located in the directory.
I know that this is possible because in Windows Explorer under ‘View’ the ‘Thumbnail’ option is available and does exactly what I’m trying to do.
Thanks
Brad
|
|
|
|
|
You'll have to iterate through the files in the directory and, one at a time, TRY and generate a Thumbnail view of the file using whatever method you chose. If the file is a graphics type, then a thumbnail will be generated and you can display that, otherwise you'll have to supply the icon of the file as the Thumbnail image.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Hi to all
i am working on a project which is a small ide n includes controls on a forms. i want to save that form along with controls so that when i load it,, the new form is loaded with same control at same location n same properties using XML .....
plzzzzzzzzzzzzzzzzzz help me
|
|
|
|
|
Try something like this (the code is in C# but you'll get the ideea):
Declare a typed dataset -WorkspaceDataset- within your project, having a table for storing controls bounds, called Controls; the columns used to reposition and resize each and every control would be Top, Left, Width, Height.
Any other properties you would like to store- add them as columns. I guess you could have a table for each control type.
If you want to get really flexible, you could use Reflection and discover the properties for each of the control types, create the dataset dynamically according to each property type and do the same when retrieving their values.
The following is just a simple example, only for the bounds of the controls.
<xs:element name="Controls" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType>
<xs:sequence>
<xs:element name="IDControl" type="xs:ID" minOccurs="0" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" />
<xs:element name="Name" type="xs:string" minOccurs="0" />
<xs:element name="ParentControl" type="xs:string" minOccurs="0" />
<xs:element name="Top" type="xs:int" minOccurs="0" />
<xs:element name="Left" type="xs:int" minOccurs="0" />
<xs:element name="Height" type="xs:int" minOccurs="0" />
<xs:element name="Width" type="xs:int" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
//In the form that you want to serialize/deserialize, declare a dataset member from the above type
private WorkspaceDataset workspaceDataset = new WorkspaceDataset();
//read the dataset from a xml file
private void deserializeControls(string xmlFilename)
{
this.workspaceDataset.Clear();
try
{
this.workspaceDataset.ReadXml(xmlFilename);
//call this function for the form, which, in turn will call itself recursively for each of the children controls
this.deserializeControl(this);
}
catch(Exception e)
{
MessageBox.Show(e.Message + "\n\n" + e.StackTrace);
}
}
//reads the control bounds from the dataset, by the Name property of the control
private void deserializeControl(System.Windows.Forms.Control control)
{
try
{//retrieve only controls that are named, it will not work for datagrid columns and other controls that are not named
if(control.Name != null)
{
if(control.Name != "")
{//read the bounds of the control from the datasets' Controls table
DataRow[] ctls = this.workspaceDataset.Controls.Select(
"Name = '" + control.Name + "'");
if(ctls.Length > 0)
{
ControlsRow controlRow = (ControlsRow)ctls[0];
//set the bounds of the control
control.SetBounds(
controlRow.Left,
controlRow.Top,
controlRow.Width,
controlRow.Height);
}
}
}
//call the same function recursively for all the children of the current control
foreach(System.Windows.Forms.Control child in control.Controls)
{
this.deserializeControl(child);
}
}
catch(Exception e)
{
MessageBox.Show(e.Message + "\n\n" + e.StackTrace);
}
}
//serialize the controls bounds into a xml file
private void serializeControls(string xmlFilename)
{
//clear the current values that were retreived when deserializing and start from scratch
this.workspaceDataset.Clear();
//call this function for the form, which, in turn will call itself recursively for each of the children controls
this.serializeControl(this);
this.workspaceDataset.WriteXml(xmlFilename);
}
//store the bounds of the current control and calls itself recursively for all the control's children
private void serializeControl(System.Windows.Forms.Control control)
{
if(control.Name != null)
{
if(control.Name != "")
{
ControlsRow controlRow =
this.workspaceDataset.Controls.NewControlsRow();
controlRow.Name = control.Name;
if(control.Parent != null)
{
controlRow.ParentControl = control.Parent.Name;
}
controlRow.Top = control.Top;
controlRow.Left = control.Left;
controlRow.Height = control.Height;
controlRow.Width = control.Width;
this.workspaceDataset.Controls.AddControlsRow(controlRow);
}
}
//call itself recursively for all the children
foreach(System.Windows.Forms.Control child in control.Controls)
{
this.serializeControl(child);
}
}
I hope this will help. I know there is the XmlSerialization but I didn't really care about all the properties myself, just the bounds, and this one worked fine for me.
|
|
|
|
|
The ParentControl column doesn't really get used, at least so far, because I meant to have it for the case one would store more than one form, so then same names could be used for controls from different forms.
|
|
|
|
|
Hi
I'm looking for examples or articles of how to show data from a datagrid (from a database) to a text or excel file..
Thanks for any help.
|
|
|
|
|
Right here[^] on MSDN.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I have created one document in .html. I have one html file with its supportive file and developed player for its viewing in my vb application. I want lmy user should click on one button and my program should make one ProgramName.Exe file. I want to add files programmatically in setup.exe and wehn this will be installed on reader's system. This Setup.exe will install required components (which i add at the time of creation) automatically and my main page will open in my vb application which is actually a viewer of .html files.
Actually i want to know how to create .inf, .cab or setup.exe file thru VB.NET coding.
Please help me out.
Many Many thanx in advance.
Early action will be highly appreciated.
Manish Thouri
manishthouri@indiatimes.com
manishthouri@rediffmail.com
Manish Thouri
Software Professional
manishthouri@indiatimes.com
manishthouri@rediffmail.com
|
|
|
|
|
You'd have to write your own custom Setup.exe from scratch. Something that will parse up an .INF file (which is just a text file), and perform the actions described there in. How that file is layed out and what is in it is completely up to you, since your writing the .EXE that will interpret it.
Also, there are no native methods in the .NET BCL that work with creating .CAB files. These are built using as an external tool. BTW: Setup's using .INF and .CAB files have been deprecated for years now.
With a Setup that interprets a .INF, you don't have to recompile the Setup.exe every time you want to make a change to the installation. All you do is modify the .INF file that describes the setup process and update the .CAB file with the appropriate files.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
The WebBrowser control can return a reference to the Office Document object.
See this[^] article for a look at how to do it. The code is in VB6, so you'll have to adapt it to VB.NET and your implementation of the WebBrowser control.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|