Generating a printable letter with called variable vb.net - vb.net

Im completely lost on this, can I create a letter on a Report in visual basic then call a specific text from a textbox in another form or call a result from sql query cause printing is not an issue anymore on report or do I have to create a print button then generate the letter in there then call a specific text from a texbox in another form? If so how does the syntax goes?

Related

Microsoft Word MacroButton - placeholder text visibility

I have a Microsoft Office 2013 Word template, in which I have some text-field elements, created by using Quick Parts -> Field -> MACROBUTTON noname [Type your text here].
If I fill only some of these fields (i.e. "[Name]", "[Address]") and I print or save as PDF, all the fields that I have not filled will display as [Insert your text here] in the printed paper or PDF. To be clear, the placeholder text must be manually removed (or replaced with the text you want).
I've readed somewhere, that you can create a macro, which will not display the placeholder text in the PFD- or printed version of the document, if there is no text written manually to that specific field (you leave it as it was). As this would be handy in cases, where you don't fill all the neccessery fields, my question is:
Q: Can this be achieved only by using Macro Button, and if not, what is needed to create text fields as described below that are not included in the printed or PDF saved version of the document?
This cannot be achieved without using actual macro code. Right now your solution contains no macro code, the fields simply function as "targets" and when the user types on the field it is deleted. Where the user does not type, the prompt remains. You'd need code to delete these fields from the document.
Given your requirement, the code would have to fire in the DocumentBeforeSave and the DocumentBeforePrint events. These events require a class and supporting code in a standard module. The basic information on how to set these up is in the Word object model language reference: https://msdn.microsoft.com/en-us/library/office/ff821218.aspx
An alternative to MacroButton fields would be to use ContentControls. But here, again, code and the same events would be required to remove/hide placeholder text.

Add multiple blank lines to a Report from TextBox?

I have an Access Database linked to a Crystal Report (2011). The Report has many Sections, one Group, as well as several Sub Reports.
Each Sub Report is in its own Section on the main Report. Each Section/Sub Report is set to "Keep together on one page."
What my boss is looking for is a way to add space "on-demand" to the end of any section. In other words, he wants the report to be a word document that he can freely add lines to.
I know this is not exactly possible. I do realize that you can export a Report as a .doc File, but that takes extra steps and we are trying to automate this as much as possible.
What I am considering is a TextBox (TextBox1) in Access that allows you to type in a number and adding a that number of blank lines to a different TextBox (TextBox2) (E.g. if you type 3 in TextBox1 then the value for TextBox2 would be something like "". Then referencing TextBox2 in a formula in the Report using HTML interpretation.
Is there an easy way to do this?
Does anyone have any better suggestions?
If you haven't already, I'd try giving him/her a version of the report with "extra" blank space already included. Another option might be doing page breaks after the sub-reports. Make sure it looks good to you and then present it.
But, to do the variable blank spaces, I'd use a Crystal parameter (or multiple Crystal parameters). This way, everything is in one place. If the boss decides there should be one more line, he/she can just hit refresh and change the parameter rather than going back to the Access form. Once you have the parameter, add a formula to the form when you want the variable spaces, and set it to "can grow". The actual formula would be something like:
Local NumberVar i;
Local StringVar out := "";
for i := 1 to {?BlankLines} do
out := out + chr(13) + chr(10);
out;

Google Apps Script on Form Submit Time Formatting Glitch/Fix

Background:
How: I suspect that this is a glitch within Google Form (submission process)/Spreadsheet, but may be part of the Date conversion utility of the Spreadsheet interface (and is an intended feature).
When entering a format in a text box in Google Forms, there is some sort of communication error between the Form submit and Response Spreadsheet, or pre-processing of the Form's data before it is sent to the spreadsheet. The glitch only seems to happen for data in a text field of the format ##:## TEXT where TEXT contains no '.' characters. For example: 4:15 pm will reproduce the glitch, but 4:15 p.m and 4:15 p.m. will not.
Result: An apostrophe character is added to the beginning of the string when it is put into the Spreadsheet (i.e. '4:15 pm) which throws off several sub-systems I have in place that use that time data. Here are two screenshots (sorry for the bad sizing on the second):
I'm 99% certain that the glitch is caused by the ##: combination.
Temporary Fix?: The real question is... how might I go about removing that pesky apostrophe before I start manipulating the time data? I know how to getValue() of a cell/Range. Assume I have the value of a cell in the following manner:
var value = myRange.getValue();
// value = '4:15 pm
How can I go about processing that value into 4:15 pm? A simple java function could be
value = value.substring(1); // Assuming "value" is a String
But in Google App Scripts for Spreadsheets, I don't know how I would do that.
Post-Script: It is necessary to post-process this data so that I don't have to lecture university faculty in the language department about inputting time format correctly in their forms.
Thanks in advance to those who can help!
How can I go about processing that value into 4:15 pm? A simple java
function could be
value = value.substring(1); // Assuming "value" is a String But in
Google App Scripts for Spreadsheets, I don't know how I would do that.
Google Apps Scripts uses Javascript which has the exact same method.
value = value.substring(1);
should return all except the first character.
More about Javascript substring at: http://www.w3schools.com/jsref/jsref_substring.asp
If you remove the ' in the spreadsheet cell the spreadsheet interface will convert this entry to a date object.
This might (or not) be an issue for you so maybe you should handle this when you read back your data for another use...
It doesn't happen when text is different (for example with P.M) simply because in this case the ' is not necessary for the spreadsheet to keep it as a string since the spreadsheet can't convert it to a date object (time value).
Artificial intelligence has its bad sides ;-)
edit :
You cant do this in an onFormSubmit triggered function using the javascript substring() you mentioned. If you're not familiar with that, here is the way to go :
To run a script when a particular action is performed:
Open or a create a new Spreadsheet.
Click the Unsaved Spreadsheet dialog box and change the name.
Choose Tools > Script Editor and write the function you want to run.
Choose Resources > Current project's triggers. You see a panel with
the message No triggers set up. Click here to add one now.
Click the link.
Under Run, select the function you want executed by the trigger.
Under Events, select From Spreadsheet.
From the next drop-down list, select On open, On edit, or On form
submit.
Click Save.
see doc here and here

Text Object in Formula Editor (Crystal Report)

How can i get the text object so that i can use it in formula editor?
Text objects cannot be read or changed using the Formula Editor within Crystal Reports. If you want dynamic content that I would suggest using a Formula instead of a Text Object.
Rather bizarrely, you are able change a Text Object value at runtime using .NET
e.g.
rptObject.ReportDefinition.ReportObjects("Text1").Text = "Some dynamic content"

Word 2007 Vba - Go to placeholder via macro

Ok, So I'm constantly battling with Microsoft as I'm creating several templates for a few customers. My problem is this, simple textbox placeholders scattered all around a document allows me to press TAB to go to the next placeholder. Much like Tab order in Visual Studio. But for some strange reason, this doesn't work with rich textbox placeholders. And I need to use rich text for a few textboxes because the user should be allowed to alter the formatting of single characters. This is not possible with simple textboxes.
So I was thinking, could this be possible using macros? For example, if a textbox placeholder is selected and the macro is run, go to the next placeholder?
The Shape/TextBox objects can be accessed through
ThisDocument.Shapes.Item(index)
and checking the returned Shape object for
theShape.Type = msoTextBox
However, the Shape objects will be returned in the order that they were created, not their order on the page/document. To find the 'next' TextBox, you are probably going to have to loop through all TextBoxes and investigate their location (.Top, .Left etc) in order to find the correct one to move to with:
theNextShape.Select