Microsoft Development





Most development for the Microsoft platform is done utilizing the technologies supported by the.NET framework. Other development is done using Visual Basic for Applications (VBA) for programs like Access, Excel, Word and Outlook, with PowerShell for scripting, or with SQL for large databases.

Share tech news, updates, or what's on your mind.

Sign up to Post

Office applications have numerous Task Panes. I need to determine which are open/visible. Some are activated via ribbon toggle buttons and/or dialog box launchers while others are activated with buttons.

I can detect those activated with toggle buttons as in this example:

bSelectionPaneOpen = CommandBars.GetPressedMso("SelectionPane")

Open in new window

This doesn;t actually get the state of the task pane but the toggle button associated with it.

Conversely, I cannot do the same for those activated with a button. This example fails because the button isn't a toggle:

bFormatPaneOpen = CommandBars.GetPressedMso("ObjectFormatDialog")

Open in new window

Is there a way to return the visible state of task panes that are activated via buttons?

Word has a TaskPane object but Excel and PowerPoint don't :-(

lTaskPanes = Application.TaskPanes.Count

Open in new window

Angular Fundamentals
LVL 19
Angular Fundamentals

Learn the fundamentals of Angular 2, a JavaScript framework for developing dynamic single page applications.

I am administering NetBox v2.5. Browse the following link to get a basic introduction to NetBox if you are not familiar.  I need to sync VMware 6x with NetBox for the purpose of capturing vCenter inventory of all VMs across all clusters and datacenters.  Scripting is an option, but I prefer to avoid scripting the task. Based on my research, I believe there is a module within NetBox to achieve this objective.  Is there a way to configure NetBox without scripting the task.

Thank you.

Does Entity Framework sometimes auto-convert DateTime to EST?

My Javascript call is making an MVC call to a C# web method with a date that is set to midnight. But, when I query the database, I see the correct date was added to the DB table, as expected. However,  there is time added, and it turns out to be UTC time:

I am on the East Cost of the US and am currently 4 hours behind UTC/GMT.

Here is the format of the data:

2019-11-01 04:00:00.000

I was expecting:
2019-11-01 00:00:00.000

Since, the JSON date/time I am passing in was at midnight.

Is there a setting in Entity Framework which may cause this?

Or, is there a JSON parser doing this?

Using Word 2019 (for Mac) Need to set a word's color

I have a word that repeats hundreds of times and in dozens of point sizes. But I need to make every instance of that word the same color.

What kind of automation is there for that?

Trouble adding comma to bar graph data using Windows Chart Class

I am using the library:

and found I could format (with comma) for values > 1,000

with this line of code:
ca.AxisY.LabelStyle.Format = ("##,#");

But, I can't figure out how to get the data to display also with the comma.

Best I get is the following:
Missing Comma on Data
Here is the Microsoft reference document:
I am using VS2017 with TFS. I can see files in my local repository but they do not display in Solution Explorer,
see below
tfs solution explorerany guidance appreciated,
Noob to APIs here, so please bear with me.

I need to send an API request to Office 365 to assign a new user. Can someone help point me in the right direction for the command, or the builder, so that I can get the correct API (URL) request?

For example, I need to assign user 'John Smith' a new license in O365.

Thanks for the help! Any links to tutorials on the how-to for this would be greatly appreciated as well!
Hello Experts

I am trying Use wildcards (or other method) to Unzip a file in C# where the file name can be found based on first part of text only. So far am unable to accomplish this.

For example I have the following code:

string targetDirectory = @"C:\TestDirectory";
                    string zipFile = @"C:\TestDirectory\Test_09/20/2019.ZIP";
                    ICSharpCode.SharpZipLib.Zip.FastZip fz = new ICSharpCode.SharpZipLib.Zip.FastZip();
                    fz.ExtractZip(zipFile, targetDirectory, "");

This code works fine to unzip files as long as the exact zipped file name is listed...

I want to be able to use wild cards or other method to unzip a file called Test_09/20/2019.ZIP without the program having to know about the _09/20/2019 part of the file.

In other words I would like to unzip a Test_"Any date or other text".ZIP file by only knowing about Test.ZIP a the file name.

I tried Test*.ZIP in the above code but the * was an unrecognized character.

Does anyone know how to do this?

Hi there,

I haven't used Access in a while and I'm trying to help someone make some changes to their current Access DB forms.  In a few forms, there is a border around some fields, which is preventing me from moving the fields around or even insert new ones.  Attached is a picture of what I'm seeing.  Can someone please help??  I'm stuck!

- Christian
I have C# program that has multiple classes. how can I create a really global variable that can be accessed by any class and change the value before passing it to another class.
Starting with Angular 5
LVL 19
Starting with Angular 5

Learn the essential features and functions of the popular JavaScript framework for building mobile, desktop and web applications.

I am trying to fill a combo Box with a list of items from a SQLite DB.
have been using/following with this

SO in my
DataAcsess.cs Class i have
 public static List<String> ProductList()

            List<String> entries = new List<string>();

            using (SqliteConnection db =
                new SqliteConnection("Filename=DataStorage.db"))

                SqliteCommand selectCommand = new SqliteCommand
                    ("SELECT DOTProductname from QPL", db);

                SqliteDataReader reader = selectCommand.ExecuteReader();

                while (reader.Read())

            return entries;

Open in new window

(which I am not sure what it is doing)

then i have a

I have my XAML:
                    <ComboBox  x:Name="PName" HorizontalContentAlignment="Center" MinWidth="140" ItemsSource="{Binding}">


Open in new window

(not sure how i get the item source to work)

and finally my

XAML.CS code:
  private void ProductList(object sender, RoutedEventArgs e)
          ComboBox.ItemsSource = DataAccess.ProductList();

Open in new window

Which is throwing some errors because i am not understanding what is required.

How is the standard method to get the query convert it to a item
and then put a foreach item loop to add to my combo box or similar?
appreciate your help in advance.
I re-organized my UWP app. I created a set of folders in the solution explorer and moved the XAML files around accordingly.
I go to recreate my menu items and i run into a trouble where it doesn't recognize some of the new folders and some of the new files.
Is there a way to clean out the old references to make way for a new one? see pictures for details
Hi EE,

This question is more of a query looking for approaches to resolve the following issue:

The user has an SSRS 2016 report and filters the datasets efficiently with filters they have been given.

However, the user wants to save specific rows within the report to key the data into another system e.g Desktop application. Exporting initial the result set data to XML result is a simple task. My question is can you have a button on the SSRS which launches a subform that asks what rows /columns specifically do you want to save from the resultset in XML format.  Completing the necessary criteria on the subform, SSRS exports the data to the user via a download.  

Is this possible in SSRS if so are there examples out there?

Any links or tips, advice are welcome.

Thank you.
Correct philosophy/topology for  SQLite syncing back to Azure.
And querying items in Azure/storing in SQLite
I have just learn that in UWP you cannot store a .DB file in the solution and connect to it with code, instead the .db file is created in a place in appdata when the app is started.
This means I cannot load up the .DB file prehand with lots of data to be used by the app. This must mean the .DB file needs to “sync” in someway to the main data storage this is touched on in this Microsoft doc

My question is what is the correct philosophy/topology to obtain data stored in Azure interact with that data in a UWP app and then sync that data back up to Azure?
THis is a duplicate question that i asked on a reddit subforum.
but without much response.

Iv been looking for weeks to find a comparable guide on using a UWP app with SQLite. All the guides i find are either out of date or using nugget packages that no longer exist. or provide super complex methods.

Im using VS 2019 Community

with this:

Trying to connect to a local .DB file

Maybe i am just not googling the correct words?

Does anyone know of a good resource that demonstrates how to connect to a local .DB file submit entry's and retrieve entry's?

I have set up a very simple update panel page as I was getting a full postback each time on a new site I have set up in VWD, it refuses to update just the update panel, but if I copy over the page to the older site it works fine.

They have identical web configs and I'm not using a master page so no interference there.

Same on the live server, one work, one doesn't - any ideas?

Hello all,
I am writing a DLL (in windows), with a function that needs a lot of stack size.
The problem is that I am not creating the thread.
So is there a way to change the stack size while the thread is running ?
Alternatively, is there a way to "catch" thread creation, and vrify that the stack size is big enough ?

So I am trying to connect Office 365 and WebMerge together so that data can be extrapolated from Excel.  How exactly does this whole API process work.  Do both applications need to typically have an API id and secret or just one?  What exactly is an API and how does it work?
Hi EE,

For the following function borrowed from the following site:

CREATE FUNCTION edit_distance(@s1 nvarchar(3999), @s2 nvarchar(3999))
 DECLARE @s1_len int, @s2_len int
 DECLARE @i int, @j int, @s1_char nchar, @c int, @c_temp int
 DECLARE @cv0 varbinary(8000), @cv1 varbinary(8000)

  @s1_len = LEN(@s1),
  @s2_len = LEN(@s2),
  @cv1 = 0x0000,
  @j = 1, @i = 1, @c = 0

 WHILE @j <= @s2_len
  SELECT @cv1 = @cv1 + CAST(@j AS binary(2)), @j = @j + 1

 WHILE @i <= @s1_len
   @s1_char = SUBSTRING(@s1, @i, 1),
   @c = @i,
   @cv0 = CAST(@i AS binary(2)),
   @j = 1

  WHILE @j <= @s2_len
   SET @c = @c + 1
   SET @c_temp = CAST(SUBSTRING(@cv1, @j+@j-1, 2) AS int) +
    CASE WHEN @s1_char = SUBSTRING(@s2, @j, 1) THEN 0 ELSE 1 END
   IF @c > @c_temp SET @c = @c_temp
   SET @c_temp = CAST(SUBSTRING(@cv1, @j+@j+1, 2) AS int)+1
   IF @c > @c_temp SET @c = @c_temp
   SELECT @cv0 = @cv0 + CAST(@c AS binary(2)), @j = @j + 1

 SELECT @cv1 = @cv0, @i = @i + 1


Open in new window

How do I convert this so it reads a column of values pseudo code example:


SET @TableCOLUMN='ContainerID';

with cte AS; (select TrackingID
from table 1
where var1 = 'ASDF1234' and var2 ='LKJH9786')

-- This Returns a Single TrackingID.

select * dbo.edit_distance(CTE, @COLUMN) any values in the column 'ContainerID' that have distance of more than 2 as compared with CTE.

I hope this makes sense.

Any assistance is welcome.

Thank you
OWASP Proactive Controls
LVL 19
OWASP Proactive Controls

Learn the most important control and control categories that every architect and developer should include in their projects.


I d like to see an example of a public Azure Devops Powershell project.
Specifically the Boards I d like to see how that is arranged.

That way I know howto start organizing my project into Azure Devops Boards (what kind of items are put in an epic, what in sprints, what with features or items that have no specific date of implementatie etc.

There is a lot on documentation but that doesn't tell anything of there isn t a good example.


Debugging UWP code.
following this guide to develop a slide show.

the MainPage.xaml








    <Grid x:Name="LayoutRoot" Background="LightBlue">

        <Grid Margin="0,50">


                <RowDefinition Height="410"/>

                <RowDefinition Height="*"/>


            <StackPanel Grid.Row="0">

                <Border BorderBrush="Black" Grid.Row="0" BorderThickness="1" Width="700">

                    <Image x:Name="ImageSource" AutomationProperties.Name="ImageSource" VerticalAlignment="Top" Stretch="Fill" Height="380" Width="700">




            <Grid x:Name="Input" Grid.Row="1" Margin="0,10,0,0" VerticalAlignment="Top" HorizontalAlignment="Center">

                <StackPanel Orientation="Horizontal">

                    <Button x:Name="playSlideshow" Grid.Row="1"  Margin="0,0,10,0" 

Open in new window

Hi EE,

I have the following query that shows the status of queries running on my SQL Server.
,	r.start_time
,	TotalElapsedTime_ms = r.total_elapsed_time
,	r.[status]
,	r.command
,	DatabaseName = DB_Name(r.database_id)
,	r.wait_type
,	r.last_wait_type
,	r.wait_resource
,	r.cpu_time
,	r.reads
,	r.writes
,	r.logical_reads
,	t.[text] AS [executing batch]
				t.[text], r.statement_start_offset / 2, 
				(	CASE WHEN r.statement_end_offset = -1 THEN DATALENGTH (t.[text]) 
						 ELSE r.statement_end_offset 
					END - r.statement_start_offset ) / 2 
			 ) AS [executing statement] 
,	p.query_plan
	sys.dm_exec_requests r
	sys.dm_exec_sql_text(r.sql_handle) AS t
	sys.dm_exec_query_plan(r.plan_handle) AS p
	r.total_elapsed_time DESC;

Open in new window

Under executing batch I get the following text:

(@P1 varchar(11),@P2 varchar(1))select  distinct o.order_id, o.enddate, lb.value lookback, hb.billinv_id hasbilling   from ordcalc oc   inner join ordcalc pri on (pri.order_id = @P1 )   inner join orders prio on (pri.order_id = prio.order_id)   inner join orders o on (oc.order_id = o.order_id and prio.client_id = o.client_id)   inner join funddept fd on (o.funder_id = fd.funder_id and o.dept_id = fd.dept_id and fd.invformat = 'COMBOSTAT')   inner join funderrefs fr on (o.funder_id = fr.funder_id and = 'Combine Invoice Code' and fr.textval = isnull(@P2, fr.textval))   outer apply (select XMLData.value('data(/PropBag/Prop[@Name = "Lookback Period"]/@Value)[1]', 'varchar(200)') value   from (   select convert(xml, REFDATA) as XmlData from funderrefs   where NAME = 'Combo Statement Settings'   and funder_id = o.funder_id   ) as t1) as lb   outer apply (select top 1 billinv_id from billinv bi where   o.client_id=bi.client_id and o.order_id=bi.order_id and bi.invoutamt > 0 ) as hb   

Open in new window

For the parameters @P1 and @P2 how do I determine what stored procedure this came from?

Any assistance is appreciated.

Thank you.
Hi EE,

A VS query here:

The visual studio error I have been having is that when you select a data connector of Native 11 it was still showing Native 11 but deploying packages in Native 10.

To fix the issue I went to notepad and manually changed each file over, then reopen visual studio everything worked in Native 11 after that.   Not sure why the package files did not convert over when the connector was converted on a shared data source?

Attached is the screen where I am changing the data connector version details.

Any is assistance is welcome, let me know if require clarification.

Thank you.
Hi everyone,
So, I need to find out a couple things about Visual Studio. I thought it was included in the SQL Server install. But I'm not sure.
On my computer, Visual Studio 2008 is installed and I think it came with SQL SSMS 2008. In Control Panel, All SSMS components were installed on 8/3/2015, Same date shows for Visual Studio. So it appears Visual Studio was part of the SSMS 2008 installation.
So, I just now installed SSMS 2017 on a different computer. And there is NO Visual Studio. There are Visual Studio Tools, Shell, etc., but no actual standalone program.
So, how does Visual Studio get installed now? Do I have to buy an individual copy? I'm OK with that, I just want to know.
Anyone know about this?
I have two large batches of programs - several years work - in QuickBasic and Fortran IV .
I need to update these to a more modern language (Python?).
Are there any automatic translators?
where would I find them?

Microsoft Development





Most development for the Microsoft platform is done utilizing the technologies supported by the.NET framework. Other development is done using Visual Basic for Applications (VBA) for programs like Access, Excel, Word and Outlook, with PowerShell for scripting, or with SQL for large databases.