The range name is entered into A2 ("CountryList" in the example) and this defines the set of picklist item values. The option offset number to start with is entered into B2 ("10" in the example), it becomes the value of the first generated option. Use one as the 'Start option number' when adding items to an empty picklist.
I have added a button control to run the GenerateCustomizationXml method that generates the customization XML:
Sub GenerateCustomizationXml()
Dim namedRange As range
Dim outputCell As range
Dim listName As String
Dim xml As String
Dim ctr As Integer
listName = range("A2").Text
ctr = range("B2").Text
Set namedRange = range(listName)
xml = "<options nextvalue=""" & ctr + namedRange.Cells.count & """>"
For Each listItem In namedRange.Cells
xml = xml & "<option value=""" & ctr & """><labels><label description=""" & listItem.Text & """ languagecode=""1033"" /></labels></option>"
ctr = ctr + 1
Next
xml = xml & "</options>"
Set outputCell = range("B4")
outputCell.Value = xml
End Sub
The macro generates the XML with the correct option value numbers, calculates the nextvalue number, and puts the result into B4. Mark the B4 cell and click CTRL-C to copy it to the clipboard. Follow the steps outlined in Mitch's blog to import the new picklist values into MSCRM. Refer to the SDK for more details.
The macro is generic and can be used for any named range of cells in the worksheet. Just enter the range name in A2 and run the macro. Naming a range of cells is as easy as selecting the range of cells and typing in the name in the 'name box' in the upper left corner of the worksheet.
3 comments:
Hi,
I developed a browserbased approach:
http://www.beatnik.at/picklist_for_mscrm3.php
we just recently launched a project with loads of picklists involved - this tool was quite handy.
feel free to use it at your own risk. liability hereby disclaimed. feedback appreciated.
----
mario
I did this to update a picklist in the Lead entity and it appeared to work a treat.
Unfortunately something's not right because I cannot export the Lead customizations any more to make further changes.
Any ideas please?
The code is for MSCRM as it existed 9 years ago, so I have no idea what works these days. Still, MSFT supports their software for 10 years, thus support should be available.
Post a Comment