xml/xsl to create msbuild files........MSB4097......and an xsl workarounds(??)

<!--  The xml in question         -->

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="AllTargetsWrapper" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!--  - - -->
  <Target Name="AllTargetsWrapper" xmlns="">
    <Message Text="You just called the Target named 'AllTargetsWrapper'" />
  </Target>
  <!--  - - -->
  <Target Name="Target1" xmlns="">
    <Message Text="You just called the Target named 'Target1'" />
  </Target>
  <!--  - - -->
  <Target Name="Target2" xmlns="">
    <Message Text="You just called the Target named 'Target2'" />
  </Target>
  <!--  - - -->
  <Target Name="Target3" xmlns="">
    <Message Text="You just called the Target named 'Target3'" />
  </Target>
  <!--  - - -->
</Project>


<!--          -->




The backstory of this post is here:
https://connect.microsoft.com/VisualStudio/feedback/details/96102/msbuild-does-not-accept-valid-child-nodes-that-contain-the-xmlns-namespace-attribute-even-if-its-the-correct-one

Basically, there are some msbuild/xml issues.
The wonderful error you get is:
error MSB4097: The element <Target> beneath element <Project> may not have a 
custom XML namespace.


There are some suggestions at the site.
One is "write out the xml/reload it, then add elements".
The other one is "use the msbuild object library".
Neither is especially desirable.


I only recently found the issue at the connect.microsoft.com site......I put 
in some heavy work creating some lightweight xml and then an xsl transform 
sheet to create my msbuild project file.
Aka, I just did alot a work before I hit this monkey wrench.  :<

At the top of this post ......there is the (resultant xml from my transform) 
is currently what I'm stuck with.

The issue are these orphaned
xmlns=""
values.


Because of the bug......(outlined in the URL above)...

you cannot have this xml (below is a copy from the xml above):
  <Target Name="AllTargetsWrapped" xmlns="">

AND you cannot do this:
  <Target Name="AllTargetsWrapped" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">


The end result has to be:


<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="AllTargetsWrapper" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!--  - - -->
  <Target Name="AllTargetsWrapper">  <!-- Emphasis here because there is no 
xmlns value -->
    <Message Text="You just called the Target named 'AllTargetsWrapper'" />
  </Target>
  <!--  - - -->
  <Target Name="Target1">
    <Message Text="You just called the Target named 'Target1'" />
  </Target>
  <!--  - - -->
  <Target Name="Target2">
    <Message Text="You just called the Target named 'Target2'" />
  </Target>
  <!--  - - -->
  <Target Name="Target3">
    <Message Text="You just called the Target named 'Target3'" />
  </Target>
  <!--  - - -->
</Project>




==============

Here is a very basic (and does-not-do-anything-interesting) example of some 
xml and xsl which creates the issue:

<!-- START XML -->

<?xml version="1.0" encoding="utf-8"?>
<root>
  <demoTargets>
    <demoTarget>
      <targetName>AllTargetsWrapper</targetName>
    </demoTarget>
    <demoTarget>
      <targetName>Target1</targetName>
    </demoTarget>
    <demoTarget>
      <targetName>Target2</targetName>
    </demoTarget>
    <demoTarget>
      <targetName>Target3</targetName>
    </demoTarget>
  </demoTargets>
</root>


<!-- END XML -->

<!-- START XSL-->

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
version="2.0">
  <xsl:strip-space elements="*" />
  <xsl:output method="xml" />
  <!-- -->
  <xsl:template match="/">
    <!-- -->
    <Project DefaultTargets="AllTargetsWrapper" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <xsl:comment>  -- </xsl:comment>
      <xsl:call-template name="CreateTargetsTemplate"></xsl:call-template>
      <!-- -->
    </Project>
    <!-- -->
  </xsl:template>
  <!-- -->
  <xsl:template name="CreateTargetsTemplate">
    <!-- -->
    <xsl:for-each select="//root/demoTargets/demoTarget">
      <xsl:element name="Target">
        <xsl:attribute name="Name">
          <xsl:value-of select="./targetName" />
        </xsl:attribute>
        <xsl:element name="Message">
          <xsl:attribute name="Text">You just called the Target named 
'<xsl:value-of select="./targetName" />'</xsl:attribute>
        </xsl:element>
      </xsl:element>
      <xsl:comment>  -- </xsl:comment>
    </xsl:for-each>
    <!-- -->
  </xsl:template>
  <!-- -->
</xsl:stylesheet>


<!-- END XSL-->

<!-- START DESIRED RESULT -->

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="AllTargetsWrapper" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!--  - - -->
  <Target Name="AllTargetsWrapper"  />
  <!--  - - -->
  <Target Name="Target1"  />
  <!--  - - -->
  <Target Name="Target2"  />
  <!--  - - -->
  <Target Name="Target3"  />
  <!--  - - -->
</Project>


<!-- END DESIRED RESULT -->






<!-- START RESULT1 THAT DOES NOT WORK -->

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="AllTargetsWrapper" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!--  - - -->
  <Target Name="AllTargetsWrapper" xmlns="" />
  <!--  - - -->
  <Target Name="Target1" xmlns="" />
  <!--  - - -->
  <Target Name="Target2" xmlns="" />
  <!--  - - -->
  <Target Name="Target3" xmlns="" />
  <!--  - - -->
</Project>

<!-- END RESULT1 THAT DOES NOT WORK -->

<!-- START RESULT2 THAT DOES NOT WORK -->


<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="AllTargetsWrapper" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!--  - - -->
  <Target Name="AllTargetsWrapper" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  </Target>
  <!--  - - -->
  <Target Name="Target1" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  </Target>
  <!--  - - -->
  <Target Name="Target2" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  </Target>
  <!--  - - -->
  <Target Name="Target3" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  </Target>
  <!--  - - -->
</Project>

<!-- END RESULT2 THAT DOES NOT WORK -->



If you want to see this issue "in action"........then take the xml and xsl 
above (the slimmed down version xml/xsl pair I have above)
Transform it, and put the resultant xml in a file called 
"MSBuildXmlIssueTransformOutput.xml"

Create a .bat file
And put this in the .bat file

<!-- START BAT FILE -->

@echo off
ECHO     Demonstrate MSBuild create Own Xml Issue:
ECHO .

@echo on

set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v3.5
set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v2.0.50727

call %msBuildDir%\msbuild /target:AllTargetsWrapper 
"MSBuildXmlIssueTransformOutput.xml" /p:Configuration=Release 
/l:FileLogger,Microsoft.Build.Engine;logfile=MSBuildXmlIssueOutput.log

set msBuildDir=

<!-- END BAT FILE -->


You will see that you get MSBuild issues unless the xml is like "START 
DESIRED RESULT" format above.


Any hope for this one?  I've read the suggestions at connect.microsoft.com 
and it just undermines my efforts I just put in.

Even if I have to perform two transformations, that is an option...........
I'm "ok" (skill-wise) with xsl, but thought I would post this issue to 
people alot better at xsl than I am.


And I appreciate you looking, but comments along the lines of
"You don't have to use <xsl:element></xsl:element> , you can write it 
shorter using ______________" are especially helpful on this one.
I'll rework the xsl to be trimmer if I find a workaround...I promise!



The engines I have available are.

DotNet Xml/Xsl Libraries, 3.5 Framework.
Saxon (in a pinch that is) ("C:\Program 
Files\MSBuild\SaxonHE\bin\Transform.exe")
MSXML2.DOMDocument.6.0




Thanks for any help.


I'm probably gonna document some of this over on the connect.microsoft.com 
site as well.......since I went to trouble of creating some samples.




0
sloan5710 (6)
2/8/2010 9:05:49 PM
dotnet.xml 7266 articles. 0 followers. Follow

2 Replies
2247 Views

Similar Articles

[PageSpeed] 19

sloan wrote:

> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
> version="2.0">

You simply need to put your namespace declaration on the xsl:stylesheet 
element, that way it applies to all literal result elements so use

<xsl:stylesheet
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
   version="2.0">

instead of what you have above.

And then you can drop the namespace declaration below:


>   <xsl:template match="/">
>     <!-- -->
>     <Project DefaultTargets="AllTargetsWrapper" 
> xmlns="http://schemas.microsoft.com/developer/msbuild/2003">




-- 

	Martin Honnen --- MVP XML
	http://msmvps.com/blogs/martin_honnen/
0
mahotrash (1777)
2/9/2010 1:00:56 PM
Martin,

THANK YOU, it works just as you said.

I'm posting my basic-setup scenario xml and xsl so future googlers 
(errrr......bingers) will find a basic and working example.

Again, thank you very much.



<!-- START XML -->

<?xml version="1.0" encoding="utf-8"?>
<root>
  <demoTargets>
    <demoTarget>
      <targetName>AllTargetsWrapper</targetName>
    </demoTarget>
    <demoTarget>
      <targetName>Target1</targetName>
    </demoTarget>
    <demoTarget>
      <targetName>Target2</targetName>
    </demoTarget>
    <demoTarget>
      <targetName>Target3</targetName>
    </demoTarget>
  </demoTargets>
</root>

<!-- END XML -->


<!-- START XSL THAT WORKS VIA INSTRUCTIONS IN PREVIOUS POST  -->


<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
   version="2.0">
<!--  <xsl:strip-space elements="*" />  -->
  <xsl:output method="xml" />
  <xsl:variable name="AllTargetsWrapperConstant">
    <xsl:value-of select="'AllTargetsWrapper'" />
  </xsl:variable>
  <!-- -->
  <xsl:template match="/">
    <!-- -->
    <Project DefaultTargets="AllTargetsWrapper" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <xsl:comment>  -- </xsl:comment>
      <xsl:call-template name="CreateTargetsTemplate"></xsl:call-template>
      <!-- -->
     <xsl:comment>  -- </xsl:comment>
    </Project>
    <!-- -->
  </xsl:template>
  <!-- -->
  <xsl:template name="CreateTargetsTemplate">
    <!-- -->
   <xsl:comment>  -- </xsl:comment>
    <xsl:for-each select="//root/demoTargets/demoTarget">
      <xsl:element name="Target">
        <xsl:attribute name="Name">
          <xsl:value-of select="./targetName" />
        </xsl:attribute>
        <xsl:element name="Message">
          <xsl:attribute name="Text">You just called the Target named 
'<xsl:value-of select="./targetName" />'</xsl:attribute>
        </xsl:element>
        <xsl:if test="targetName = $AllTargetsWrapperConstant">
          <xsl:comment> The above special target name will call all targets 
</xsl:comment>
          <xsl:call-template 
name="CreateAllTargetsSpecialTemplate"></xsl:call-template>
        </xsl:if>
      </xsl:element>
      <xsl:comment>  -- </xsl:comment>
    </xsl:for-each>
    <!-- -->
   <xsl:comment>  -- </xsl:comment>
  </xsl:template>
  <!-- -->
  <xsl:template name="CreateAllTargetsSpecialTemplate">
    <!-- -->
    <xsl:for-each select="//root/demoTargets/demoTarget[targetName != 
$AllTargetsWrapperConstant]">
      <xsl:element name="CallTarget">
        <xsl:attribute name="Targets">
          <xsl:value-of select="./targetName" />
        </xsl:attribute>
      </xsl:element>
     <xsl:comment>  -- </xsl:comment>
    </xsl:for-each>
    <!-- -->
  </xsl:template>
  <!-- -->
</xsl:stylesheet>



<!-- END XSL-->


=============================

<!-- START BAT FILE WHICH CALLS OUTPUT FROM ABOVE-->
<!-- Note, the output from above should be persisted in a file called 
"MSBuildXmlIssueOutput.xml" -->


@echo off
ECHO     Demonstrate MSBuild create Own Xml Issue:
ECHO .

@echo on

REM set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v3.5
set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v2.0.50727

call %msBuildDir%\msbuild /target:AllTargetsWrapper 
"MSBuildXmlIssueOutput.xml" /p:Configuration=Release 
/l:FileLogger,Microsoft.Build.Engine;logfile=MSBuildXmlIssueOutput.log

set msBuildDir=

<!-- END BAT FILE WHICH CALLS OUTPUT FROM ABOVE-->


<!-- START Contents of MSBuildXmlIssueOutput.xml (after performing the 
xml/xsl transformation above)(Just to show what I got and that Martin's 
advice was spot-on -->

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="AllTargetsWrapper" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!--  - - -->
  <!--  - - -->
  <Target Name="AllTargetsWrapper">
    <Message Text="You just called the Target named 'AllTargetsWrapper'" />
    <!-- The above special target name will call all targets -->
    <CallTarget Targets="Target1" />
    <!--  - - -->
    <CallTarget Targets="Target2" />
    <!--  - - -->
    <CallTarget Targets="Target3" />
    <!--  - - -->
  </Target>
  <!--  - - -->
  <Target Name="Target1">
    <Message Text="You just called the Target named 'Target1'" />
  </Target>
  <!--  - - -->
  <Target Name="Target2">
    <Message Text="You just called the Target named 'Target2'" />
  </Target>
  <!--  - - -->
  <Target Name="Target3">
    <Message Text="You just called the Target named 'Target3'" />
  </Target>
  <!--  - - -->
  <!--  - - -->
  <!--  - - -->
</Project>

<!-- END Contents of MSBuildXmlIssueOutput.xml (after performing the xml/xsl 
transformation above) -->






"Martin Honnen" <mahotrash@yahoo.de> wrote in message 
news:O7aktfYqKHA.6064@TK2MSFTNGP02.phx.gbl...
> sloan wrote:
>
>> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
>> version="2.0">
>
> You simply need to put your namespace declaration on the xsl:stylesheet 
> element, that way it applies to all literal result elements so use
>
> <xsl:stylesheet
>   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>   xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
>   version="2.0">
>
> instead of what you have above.
>
> And then you can drop the namespace declaration below:
>
>
>>   <xsl:template match="/">
>>     <!-- -->
>>     <Project DefaultTargets="AllTargetsWrapper" 
>> xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
>
>
>
>
> -- 
>
> Martin Honnen --- MVP XML
> http://msmvps.com/blogs/martin_honnen/ 


0
sloan5710 (6)
2/9/2010 2:10:19 PM
Reply:

Similar Artilces:

How do I create a combination chart and table with different data.
I am using Windows XP, and Microsoft Excel 2003. I have been asked to create scorecards with charts displaying rates graphically, and an attached table underneath with numerator and denominator data. The combination graphs in the custom charts try to graph and display all the data. Can I create a combination chart with the rates graphically displayed and the underlying numerator/denominator data presented in a linked table underneath the chart? Or do I need to create the graph and table separately? You would do better to make a separate chart and table, because chart data tables ...

How do you create an "html" file? #2
How do you create an "html" file? We need this file to display messages & promotions on the costumer display monitor ...

InfoPath and XSL
How do I attach a XSL to my InfoPath produced XML file? ...

I can't open Office Data File from CDs #2
Dear technical experts, I have been facing a security problem with Microsoft Outlook files. I exported Outlook items into Office outlook files (with the extension is .pst). The exported files were firstly saved on my computer (different path and location in comparison with default path of Office Outlook files in Documents and Settings). I can open my exported files easily. Because the size of outlook items is very large, I would like to save Office outlook files on another storage device in stead of using hard drives of my computer. I made copy these files to a flash drive (USB dri...

Howto create a new resource type
Hi, Does anyone know how to create a new resource type? What I am trying to do is add an rtf file to my resources file. At the moment, I have added it as resource type RT_RCDATA. This works and I load it using FindResource, LoadResource etc. However, since it is possible to add a custom resource type from the resource editor, it would be nice to be able to add a resource type RTF and being able to see the resource in the resource editor. It would be nice to be able to create a resource called RT_RTF which can later be used by FindResource... Thanks. -- Dave Note: Spam-resistant e-mail ...

Index
Hi, I created a primary key when I created my table. I now want to create an index on multiple fields. How do I do that and how do I use this new index in a quary Thank you. Avaya Assuming Access 2003 or earlier, to create a multi-field index, either click on the Index icon on the button bar (it's a bunch of horizontal lines with a lightening bolt to the right), or select Indexes from the View menu. Pick a name for the index (it doesn't matter what you call it) and put that in the first column of the first empty row. In the next column, put the name of the first field you...

Creating folder structure to be the same a nother PST.
Is there an easy way to create the same folder structure between a new PST and an exsisting one? I am creating a new PST file (several reasons) and want to keep all of my rules the same. Thanks Phil Even if it take VBA to do it, that is fine. TIA Phil "Phillips" <Phillips*NOSPAM*@RecycledReefs.com> wrote in message news:J2vCb.100047$_M.526398@attbi_s54... > Is there an easy way to create the same folder structure between a new PST > and an exsisting one? > I am creating a new PST file (several reasons) and want to keep all of my > rules the same. > > ...

created a rule in OE to cope with Spam
I copied and pasted, either text or words, in an email address from a spam email and now when I write a new email and try to enter my email address in the from window those words I copied and pasted some hours ago appears there. I have copied and pasted other items since then so am wondering why is this email address in text form from the spammers email is appearing. Coincidentally the spammers email address begins with the same letter as my email address begins with,"c". The email address is a popular ISP here in New Zealand xtra.co.nz. -- ....scribble scribble...

Inserting PDFs into Publisher File
I can't insert PDF's into my publisher newsletter by trying the insert command. I have to copy it and then past and it loses some quality. Anyone know how to get around this insertion problem? Thanks Greg Save the .pdf as another format and then insert it. -- JoAnn Paules MVP Microsoft [Publisher] "gporell@southshoresenior.com" <anonymous@discussions.microsoft.com> wrote in message news:11af01c50a30$d6c8d0c0$a401280a@phx.gbl... >I can't insert PDF's into my publisher newsletter by > trying the insert command. I have to copy it and then > pas...

Can i create my own fomrula made up from several excel ones?
I am using the nested functions below "=if(vlookup(1, GRID, 3,false) = 0, (1, GRID, 4, false), (1, GRID, 3, false))" i.e for the row with the digit one in its first column return the value in the third column else if empty return the value in the fourth column. my problem is i am repeatedly using the line above exactly only changing the value i am searching for (1 in this case )) so ideally i'd like to do something like define myformula(X) = if(vlookup(X, GRID, 3,false) = 0, (X, GRID, 4, false), (X, GRID, 3, false)) is this possible????????? I don't know if thi...

Publisher 2003- message
I have used Publisher for a 120+ page "news letter" for the past 5 years. Upgraded to 2003 early last year. Have had a problem with fonts changing indescriminately (no sollution as yet). Latest problem - having spent many hours on a new document which includes grafics and text - I received the message - Publisher cannot open the file. HELP PLEASE Surely after 5 years you have a backup or two. It is never a good idea to use the same document over and over without re-saving it with a new name. Maybe you have a copy in a temporary folder Type %temp% in the address bar of Wind...

save array to file, read it back in
Hi, I just have an RGB volume buffer allocated like: unsigned char pBuffer = new unsigned char[256 * 256 * 50 * 3]; and I'd like to dump it straight to a file so I can read it back in exactly as above. Can I do something like this: ofstream o("C:\\test.raw"); o << pBuffer; o.close(); // Later on read it back in... ifstream i("C:\\test.raw"); unsigned char *pLater = new unsigned char[256 * 256 * 50 * 3]; i.read(); i.close(); Thanks I would write it out in ASCI and then convert when reading back. Since you are using MFC...

Converting mysql query result to xml
Hi all, I'm a newbie in .net xml programming, so please be patient. And sorry for my uncorrect english, too. I'm going to explain my problem: I've built a web service which responds to ferries timetable requests. It receives an xml document with this format: <TimeTableRequest> <Routes> <Route> <Company></Company> <DeparturePort>ptf</DeparturePort> <ArrivalPort>pio</ArrivalPort> <Date>2006-12-20T13:00:00</Date> </Route> <Route> <Company></Company> ...

Is there any way to Create a self-extracted file programmatically ?
Hi,guys!I need to create a self-extracted cabinet file with my app,but i don't know how to achieve this.I found ms cabinet sdk,but it dosen't mention the self-extracted cabinet.And i know IEpress can create a self-extracted cabinet file,but i want to write my app as IExpress. Is there any way i can achieve this ? Thank you advance! There is a cabarc.exe for creating cabinet file along with platform sdk. There is also a cabinet sdk available here:- http://download.microsoft.com/download/platformsdk/cab/2.0/w98nt42kmexp/en-us/Cabsdk.exe -- Vipin Aravind Microsoft MVP "how...

Excel crashes with linked files
Hi All, I was recently issued a new laptop and now Excel crashes frequently, sometimes upon opening a file, sometimes upon closing a file, and most recently upon changing the font. The most obvious thing that all the files have in common is that they contain links to other worksheets. Does anyone have any idea what may be causing this and/or how to fix it? I'd appreciate any suggestions. Erin Erin, have you tried un-installing Excel/Office and re-installing? It sounds like something is wrong with Excel. Bob Flanagan Macro Systems http://www.add-ins.com Productivity add-ins an...

Excluding full path to linked file on a networked drive
Hello, I have two excel files -- A and B. Both files are saved on a network drive in the same directory. In file A, I have links to cells in file B. Because the files are in the same directory, is it possible to not have Excel show the entire path to file B in the formulas in file A that link to file B? The network path is quite long and it makes it difficult to read the formulas? If file B is open, the formulas just show the name of the file,i.e. [B]. Is it possible to always have this shown? THanks, How about using a cell reference that contains the file path? -- Jim Cone Portlan...

Cannot create Investments to Watch
I accidently deleted my Investments to Watch and cannot find the way to re create it. Can anyone tell me how create this type of investment. I tried my Money help but it does not work. In microsoft.public.money, <anonymous@discussions.microsoft.com> wrote: >I accidently deleted my Investments to Watch and cannot >find the way to re create it. Can anyone tell me how >create this type of investment. I tried my Money help but >it does not work. Create an investment account with whatever name you like. Then in the account details, make that account a Watch Account. Tha...

How to create a save-as dialog box as in Words?
Hi, When you save a file in Words, you will see a dialog box that is different from CFileDialog. My question is how to create it? Please help. Thanks. Tony CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL, DWORD dwSize = 0 Parameters bOpenFileDialog Set to TRUE to construct a File Open dialog box or FALSE to construct a File Save As dialog box. lpszDefExt The default filename extension. If the user does not i...

Create view using data autofilter
I use Excel quite a lot, and would like to expand my ability. I use the AutoFilter feature to look at particular data. Usually it involves filtering a few different columns. I would like to set-up some "Views" that define the conditions and values for several columns. I could then click on one thing and get the pre-defined sets of data. -- Arleigh Birchler The simplest way I think is to record a macro that creates the view you want. Bart Snel "Arleigh Birchler" <ArleighBirchler@discussions.microsoft.com> schreef in bericht news:48B6926E-8BF3-471B-A9E7-9D...

Merging Two Files
Hi, I am getting ready to marry up two schedules (around 6000 task lines) and am trying to find a potentially quicker solution than what I have planned (just in case plan A doesn't go so well for me). Two months ago I took a copy of my master file and began to add much needed work into it, however it was not yet authorized work, so I had to continue providing status into the main master file up to this point in time. Now that the work will be authorized in May, I need to take the current master file, and make sure all of the "what-if" modifications from the se...

Creating a drop down list
i want to create a column (A1) where i can choose from a list of clients How do I create this list and keep it hidden? Hi Ed Add you list on a hidden worksheet And use this to create the dropdown http://www.contextures.com/xlDataVal01.html -- Regards Ron de Bruin http://www.rondebruin.nl "Ed" <Ed@discussions.microsoft.com> wrote in message news:956A62C8-C64B-4C8B-BC4F-05073764171E@microsoft.com... >i want to create a column (A1) where i can choose from a list of clients > How do I create this list and keep it hidden? ...

Shared File & Freeze panes issue
We are using a Shared file, but the Freeze panes at times "resets" so that it appears the screen is frozed unitl you reset freeze panes. This is not due to user changesm but occurs in the original file that was emailed. Is ther any way to prevent this? There's a guy at work who sometimes applies Window|Freeze panes to a filtered list. While the list is filtered the way he has it, you can see the titles and the data nicely. But when you do Data|filter|show all (or reset the filter), the cell used to set the freeze panes is now off the viewable screen and it looks like t...

Create fiscal Year calendar list weeks by #1-52
I am trying to create a fiscal calendar that runs from The first full week of febuary (Sunday to Saturday) through the last full week of January (Sat-Sun) It is OK and preferred to have full weeks, so for example, the first Full week of 2005 would be Jan 30-Feb 5. I would like to create a drop down list to select each week # to enter dates automatically in another worksheet, not sure where to start and no very little vba ...

Corrupted files
My laptop computer recently had a mother board that fried and had to get a new one. Before taking the computer in for repair, I had all of my documents backed up on DVDs. When I reinstalled Office 2007, I receive error messages on some documents saying that the file is corrupted. Is there any way to recover the data on this corrupted file? I have tried to open the files by using plain text but all I get is scrambled letters and numbers and signs. Try opening them with WordPad or Open Office. But to see how badly corrupt they are (presuming they are docx format), rename them with...

Unable to read File #4
I have one particular file in Excel 97 which I open and update daily (stock market stuff) and each day I copy the days entries and paste it below for the next day. Been doing this for years with no hitch until a couple of months ago then one day I tried to open the file and got a notice "Unable to Read File". Tried everything I knew (which is not much) with no luck. Fortunately I had the file saved to a flash drive and was able to open it there and "Save As" back to by hard drive. It worked fine for a while, then last week it happened again, but I didn't bother to ret...