Automated Process to Extract Text from Excel to Word - excel

I need some help with a project. I work as a librarian, and we are currently undergoing a process to relabel all of our picture books. What we are working with is a long list of all our picture books in Excel, which we then copy the author's last name (in one column) and paste it into a Word Doc which is formatted in the arrangement of those Avery label templates. We have over 8000 picture books, and as you can imagine this process takes quite a bit of time, but I have a rudimentary background in code (VB, Java), and I believe this process can be automated with scripts, but I'm not quite sure how. Any advice on commands I can use or how I should organize my code would be greatly appreciated.
Thanks

You need to learn Excel and Word COM interface. They are quite simple to use.
See some examples for Excel on Python [in this thread]. For MS Word usage you just need to use 'Word.Application' object instead of 'Excel.Application'. In VB Script such objects are created with CreateObject() function: [some examples in MSDN].
See [Word object reference] and [Excel objects hierarchy] for detailed interface descriptions.

Related

How to generate word document based on two lists in Sharepoint 2013

I know that it is possible to generate a word document from a list, but what if I need data in my word document from two lists?
I can create a linked data source which combines the two lists, but I have not seen any example on using the linked data source to create a word report. The list relationship is one-to-many, so the first list has header information, while the other has item information.
Can someone point me in the right direction for this? I'd like to do this without any libraries such as OpenXML etc.
Thanks,
gixen
I am a little bit confused regarding "I'd like to do this without any libraries such as OpenXML etc."
If you really need to create solution without any library, then, maybe, WordML could help you. Or you could deal with docx files content manualy (it is bunch of zipped files). However this really would be time consuming task. If you need to create document I would insist on using OpenXML SDK.
If "without any library" means you would like to avoid writing code you could try our product.
How about creating it in MS Excel?
You can have a VLOOKUP to get the one-to-many relationship addressed:
LIST ONE:
dog
cat
COMBINED LISTS ONE AND TWO:
dog fido
dog king
cat mittens

How to print a multi-page map with data from excel, MapPoint and VBA maybe?

I have an excel file with information on my company's customers including addresses and latitude and longitude. I need to generate printed street maps showing a reasonable level of detail with pins showing the customers and bubbles displaying their info. Essentially I need to create something that looks like a Thomas Guide except with our customer info layered on to the street maps. I've been looking for DAYS and can't find any software to automate this process.
Currently I'm importing the data into Microsoft MapPoint, which does a fine job of generating the map with all necessary data. However MapPoint can only print what's currently displayed on the screen. So I'm stuck printing at a close zoom level, scrolling over, printing again, and continuing this process ad nauseum.
Is there maybe a way to automate this with VBA in MapPoint? I can find almost no info online about VBA for MapPoint.
Or maybe there's a piece of software out there that can do this at the push of a button. Printing a multi-page map of an area doesn't seem like that crazy of a demand.
Any help would be appreciated.
MapPoint's API is actually pretty well documented in the MapPoint help file, and most of the examples use VB6, which should be adaptable for VBA - you will need to add a reference to MapPoint's object model.
Yes you can automate the printing. Other approaches include copying to the clipboard; save to web page (and extract the Map's GIF image); or to use the GetPictureFromObject(). I recently wrote an article about using the latter from C# (it would be simpler from VB6 or VBA)
You could also print to a very large PDF, see the tips from this newsletter --
http://www.mp2kmag.com/update/mappoint.newsletter/2013-02-18/
Here's a direct link to the article --
http://www.mapforums.com/print-large-multiple-sheet-maps-any-printer-27603.html
Eric

Retrieve data from the web using Excel [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I've spent hours scouring the net for anything to do with VBA calling data from the web in excel and nothing provides a tutorial on how to do so, only complicated examples un-related to what I want to do.
I want to pull data from either a .html or .xml site, doesn't matter, via Excel and find specific points in that data. I can find specific points but don't know how to get the data or scroll through multiple lines. I've done this exact sort of thing in mIRC (sort of C code).
http://eve-central.com/home/quicklook.html?typeid=438
http://api.eve-central.com/api/quicklook?typeid=438
Those are two examples, using roughly the same data I'd like to retrieve. It'd be FAR more specific with at most 100 or so different values.
I'd like to be TAUGHT how to do it, not given the code to do it, or if you must explain each part with comments in-depth please.
Edit: I'm just saying here that I don't want you to link me some random code that does something similar and expect me to modify it without an explanation. Not wanting someone to just write up a full guide of internet capability for Excel.
Thanks
Nick
Edit: I'll try explaining it again in a different sense. I play a game called EVE Online, and there's a lot of "market" databases online that allow access in this form for programs to extract data of certain items' prices. Pretty much I want to do that in an Excel document and then obviously list them in a hidden sheet or something. I don't want to have to use a secondary program, I know it's entirely possible within just Excel.
Have a look here - How can I send an HTTP POST request to a server from Excel using VBA? and getHTTP with (excel) VBA?
That deals with the code part. A note regarding the links provided, refer to the MSDN documentation regarding the WinHttp.WinHttpRequest.5.1 and MSXML2.ServerXMLHTTP to gain better clarity regarding what the these libraries are used for. I also suggested reading up a bit about using COM objects in VBA
I'd like to be TAUGHT how to do it,
not given the code to do it, or if you
must explain each part with comments
in-depth please.
Not to be rude, but this sounds to me like you want someone to teach you how to code. I dont think one can simply teach code.
Edit:
I misunderstood your question, correct me if I wrong, but the crux of your question revolves around I can find specific points but don't know how to get the data or scroll through multiple lines.
Using http://msdn.microsoft.com/en-us/library/aa163921(office.10).aspx, you would probably need to get all your result nodes into an XML object. You could then need to loop through the result set ( which I think is what you meant by scroll).
Related question: How to parse XML using vba
This is a quick and rough answer, becuase what your doing sounds a little bit dodgy(see comment), but from my understanding of Excel, I think your best bet is to use the ODBC driver and connect directly with MS Access (then export into excel) to the same database that the website is using to to receive all the data.
Which will mean that you will need:
1. both the username and password to the database.
2. the associated sql queries that the website is using to retrieve the data. (which may include joins, functions etc.)
Otherwise, you will have to get it through the "front", and you will need to write your own html parser for the section of each page to generate an xml file so that excel can read the final contents table data cleanly. (for excel 2007 and up.)
Doing so will also allow you be able to infer a column's 'data type' such as int, char, bigint etc. in the xml schema. But yeah, this might only need to be done probably in something like console C#/C++/java whatever, not in excel itself because I'm pretty sure excel doesn't have a feature that lets you write your own 'HTML to XML' parser for a website it knows nothing about.
hope this helps..
1) Copy a link to the price data you want. ie
http://api.eve-central.com/api/marketstat?typeid=34&typeid=35&regionlimit=10000002
2) In excel select the location you want the data to be imported to. Preferably a blank sheet.
3) Data -> Import External Data -> New Web Query.
4) Paste the link into the address bar. You can edit the link later on to add or subtract typeids.
5) Press the Go button.
6) Select one of the yellow arrow boxes. I chose the box directly above the line evec_api version.
7) Press the Ok button to import the data to the sheet you selected in step 2.
Now you can right click on the data to "Refresh Data".
Use whatever look up formulas to read the prices from this data to the rest of your sheet.
You can change the address of the Web Query by right clicking on any part of the data and selecting "Edit Query..."
Hope this gets you going in the right direction. This will work with Excel version 2002(XP) and 2003. Excel 2007 is more friendly to XML queries.

How to get Google page rank and number of searches in Excel sheet?

I have a link in one column and, based on it, I want
Number of Google searches in column 2
Page rank of first result in column 3
I know this can be done, as I saw a friend pulling google search result right in Excel. If anyone knows, please share how I could do that.
If I correctly interpret your question, one of the tasks you had to do is
How do I get programmatically the Google page rank for a list of URLs?
You can find the code to do this in this CodeProject article:
Request Google´s Pagerank programmatically
Regarding the Excel part: it depends which programming framework or platforms you could use. You could use to create a .NET extension for Excel using the Microsoft Visual Studio Tools for Office.
From Excel there is Data->Get External Data->New Web Query. Is this what you want?
You have two options, both of which are unfortunately poorly documented.
If you are comfortable in C/C++, you can write a special DLL called an "XLL" that you can call during Excel runtime. There is some sparse documentation available. Note that this stuff isn't very fun to use.
If you prefer .NET, there is a binding for the entire Office suite outlined here that allows you to write COM-based methods that you can call from Office. It is intended for automation, but you can write any managed code you want and have Excel call into it.
There is also what Remou just suggested; I don't actually own a copy of Excel to test that out, but it may be the easiest option.
By link i meant keywords and not URL. I want to put a keyword in one cell and pull number of searches and page rank in adjacent cells.
I tried doing the same with web query in excel but i can only reach till the number of searches. that too not in the proper cell (trying to figure out). But i have no clue about how to get the pageranks.
I am not that tech savvy to code a binder or plugin for myself. Although i am checking the link by splattne. Please focus more light on it. Is it gonna be time consuming if i try to make this one..?
Regards
Thinkjayant
There are some nice plugins for this (in various languages) on GitHub:
http://github.com/search?langOverride=&language=&q=pagerank&repo=&start_value=1&type=Repositories&x=0&y=0
I have a PR checker functions in my Excel plugin "SeoTools".
http://nielsbosma.se/projects/seotools/

United States State shapes for Office

I want to create visuals along the lines of CNN's "red-state, blue-state" shadings of the states in the U.S. for my project. I'm planning to do something fancier than just shading the state's shape in a color. Are there open source libraries of state shapes/polygons (or - if not open source - others) that I can import into Word, Excel, etc. that I can use to show complicated graphs based on states?
I have Map Point, but haven't been able to figure out how to shade the states in a complex way.
you could try google charts, it looks like http://www.woot.com is doing something similar to what you need
Here is a good example using google maps... I've used code like that before.. perhaps from this exact example.
http://econym.org.uk/gmap/example_states2.htm
EDIT: you might want to consider converting the states.xml into JSON... it'll be smaller (136k of XML right now!) and should load faster in most browsers.
There might be a couple parts to the question you are asking, but to address the first part "Are there open source libraries of state shapes/polygons...", here's a resource to check out:
http://commons.wikimedia.org/wiki/Category:SVG_maps_of_the_United_States
It's a list of various SVG(scalable vector graphics) files which can be imported into a number of applications. Basically a giant xml representation of lines and endpoints. This can be directly converted to XAML, if you're into a more programmatic way of charting(ie, C# w/ Silverlight).
However, to address the second part regarding MS Office, Visio can import SVG files for manipulation as well. I'm unsure what type of graphs you were looking for, but I hope this can assist in some small way on your path to awesomeness ;)

Resources