Recent Discussions
Help with an Excel Formula/Command Please
Good Afternoon, I need help with a formula which I am trying to put into an Excel Spreadsheet please. I'm not sure how to do what I want to do. Please See The Diagram Below. I am wanting to put a formula into cell E3 so that the 'correct' currency name & symbol will display in this cell (E3) when a particular currency is selected from the yellow box. The formula would need to be something like "(if I4 = 1 then E3 equals H3) or (if I4 = 2 then E3 equals H4) or (if I4 = 3 then E3 equals H5) or (if I4 = 4 then E3 equals H6). That way the (spreadsheet) user can select their preferred currency, by simply putting the appropriate number in cell I4 (light yellow colored) and then the corresponding symbol/currency type will post over to E3 in the 'Currency Convertor" (from column H). I hope someone can help. Many thanks, Andrew.  Solved2.5KViews0likes8CommentsHiding the SharePoint App Bar when embedding
Does anyone know if you can hide the new SharePoint App bar (global nav) with a URL query param when embedding? I've tried: env=Embedded and env=WebViewList which work in some instances, but not everywhere (e.g., List forms like newform.aspx, and most _layout pages I have checked). Example: [tenant].sharepoint.com/_layouts/15/viewlsts.aspx?view=14&env=Embedded That gets rid of alomost everything except the App bar.11KViews1like5CommentsHelp deleting 'folder' in SPO?
We've gotten a into a strange situation with a modern SharePoint Online site and could use some help/ideas on how to get out of it: A file was deployed with the Feature framework style of deployment to a path of /SiteAssets/myfile.ext. However, this happened prior to the Site Assets library actually being created by the 'just-in-time' model used on modern sites. As a result, the site now has a root 'folder' named SiteAssets and it is blocking the JIT creation of Site Assets library. When I say 'folder' think web/IIS folder, NOT a SharePoint folder in a library. How would one delete this kind of 'folder' such that the Site Assets library can actually be created? I've tried various forms of SPO/PnP PowerShell and none of the cmdlets seem to work with this kind of 'folder' 😞 Any help/ideas would be MUCH appreciated...Solved1.4KViews0likes4CommentsExport / Import from Excel file in SharePoint (SPFx)
Here is the tool which will help you to import excel file into a list. This tool will not create any kind of list or column. It will help users to import their excel file in specific list. This tool also allows users to update existing records directly from excel file. I have develop the tool in SharePoint Framework. Currently this tool is for SharePoint Online version only. We are supporting following columns : Single line of text Multiple lines of text Number Yes/No Person or Group (Person + Group) Person or Group (Person + Group) (Allow multiple selections) Date and Time Choice Choice (Allow multiple selections) Hyperlink or Picture Currency Managed Metadata Managed Metadata (Allow multiple values) Lookup Lookup (Allow multiple values) Installation of App :- 1. Click here to download the sps-import-from-excel.sppkg. 2. Visit the Microsoft 365 SharePoint Admin Center 3. Go to Apps -> App Catalog. If you don't have app catalog, here are the instructions for creating one. If you have Site Collection level App Catalog, just to to Apps for SharePoint from your site collection. 4. Click 'Upload' and select sps-import-from-excel.sppkg file to upload. 5. Check the box for Make this solution available to all sites in the organization and click the Deploy button. 6. A successful installation will look like this: 7. if you receive an App Package Error Message stating, "Deployment failed," as shown here, simply delete the .sppkg file and repeat steps 4 and 5 to redeploy. 8. Now go to the site where you want this tool. Just create a new page or edit existing page and add a webpart 'SPS Import From Excel'. This tool has help on each steps. You can read and start exporting or importing the excel. How To Setup How To Use Enjoy!!!5.4KViews1like4CommentsSharepoint list format whole row using indexOf
Hoping this will be a simple question for someone who knows JSON. I'm new to JSON and have found two examples of conditional formatting I'm trying unpick to colour a whole row on a sharepoint list using indexOf to search for the string "Holiday". Our training calendar (sharepoint list) can include "School holidays", "Bank holidays", "Half term holidays" etc in the field 'Title'. Changing the column colour works for the title field alone with the following indexOf example (using if) { "$schema": "https://developer.microsoft.com/json-schemas/sp/column-formatting.schema.json", "elmType": "div", "txtContent": "@currentField", "attributes": { "class": "=if(indexOf(@currentField,'oliday') != -1, 'sp-css-backgroundColor-BgCornflowerBlue sp-field-fontSizeSmall sp-css-color-CornflowerBlueFont','')" } } And, changing the whole row background colour works with the following which does not use indexOf (using operators?) { "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/row-formatting.schema.json", "additionalRowClass": { "operator": ":", "operands": [ { "operator": "==", "operands": [ "[$Training_x0020_Crs_x0020_Ttl]", "Holiday" ] }, "sp-css-backgroundColor-BgCornflowerBlue sp-field-fontSizeSmall sp-css-color-CornflowerBlueFont", "" ] } } To me the logic in both examples looks to be achieved in slightly different ways and I've hit a wall trying to combine the code, does anyone know how to use indexOf condition to detect 'holiday' to conditionally format the whole row? (In the code above it looks like sharepoint has kept 'Training Crs Ttl' as a reference to the field now renamed to Title but I don't think this has a bearing on the code) Many thanks ChrisSolved5.6KViews0likes3CommentsConnect-PnpOnline: Getting error Length can not be zero. Parameter:Length
While connecting to SharePoint Online inside azure queue function I am getting error "Length can not be zero. Parameter:Length". I am using self signed certificate, key and Client ID to connect to sharepoint online. Anyone else facing the same issue ?2KViews0likes3CommentsWhat do you use Microsoft Graph for?
I am curious again - how do you Microsoft Graph? What did you build with it? If you need some ideas, head over to our blog where you can find some cool articles To me, it's almost the answer to everything, whenever I ask myself 'How can I build this?'1.5KViews0likes3CommentsPhone Call Link in SharePoint View/Column Formatting
Does anyone know of a way (or a workaround) to get tel:123-456-7890 links working in view/column formatting? This would be very helpful for showing contact links with "click to call" on mobile. It already works for "mailto" links, but "tel" links are not working.Solved2KViews0likes3CommentsHow to get who created M365 Group using PowerShell?
How do we find who created M365 group using PowerShell? Graph API?Solved3.6KViews0likes2CommentsPnp Search Results Template Help
Hi, I'd like to make the search results look better. I'm currently using the below custom code. I'd like to have each result be enclosed in a box of some sort so that each search result is clearly not related to another search result. The results kind of run together. Also, the values for some of the fields that I have displaying in the search results are actually lookups from either the same or other lists on the same SharePoint site, so I would like to have those appear as clickable links instead of just text. I'd also like to know if I can have those fields not appear if there are no values to display for them. This is what the search results currently look like. Here is the current custom code that I'm using: <content id="data-content"> <style> /* Insert your CSS overrides here */ .example-themePrimary a { color: { { root.theme.palette.themePrimary } } ; } { { #unless root.properties.layoutProperties.showItemThumbnail } } .template--listItem--result { flex-basis: 100%!important; } { { /unless } } </style> <div class="template"> {{#if root.properties.showSelectedFilters}} <pnp-selectedfilters data-filters="{{JSONstringify filters.selectedFilters 2}}" data-filters-configuration="{{JSONstringify filters.filtersConfiguration 2}}" data-instance-id="{{filters.instanceId}}" data-operator="{{filters.filterOperator}}" data-theme-variant="{{JSONstringify root.theme}}"> </pnp-selectedfilters> {{/if}} {{#if root.properties.showResultsCount}} <div class="template--resultCount"> <label class="ms-fontWeight-semibold">{{getCountMessage root.data.totalItemsCount root.inputQueryText}}</label> </div> {{/if}} {{#if root.data.promotedResults}} <ul class="template--defaultList template--promotedResults"> {{#each root.data.promotedResults as |promotedResult|}} <li> <div> <pnp-icon data-name="MiniLink" aria-hidden="true"></pnp-icon> </div> <div> <a href="{{url}}" style="color:{{@root.theme.semanticColors.link}}">{{title}}</a> <div>{{description}}</div> </div> </li> {{/each}} </ul> {{/if}} <ul class="template--defaultList"> {{#each data.items as |item|}} <pnp-select data-enabled="{{@root.properties.itemSelectionProps.allowItemSelection}}" data-index="{{@index}}" data-is-selected="{{isItemSelected root.selectedKeys @index}}"> <template id="content"> <li class="template--listItem"> {{#> resultTypes item=item}} <div class="template--listItem--result"> {{#if root.properties.layoutProperties.showFileIcon}} {{#contains "['STS_Site','STS_Web']" (slot item root.slots.contentclass)}} <pnp-iconfile class="template--listItem--icon" data-extension="{{slot item root.slots.FileType}}" data-is-container="{{slot item root.slots.IsFolder}}" data-image-url="{{item.SiteLogo}}" data-size="32" data-theme-variant="{{JSONstringify root.theme}}"></pnp-iconfile> {{else}} <pnp-iconfile class="template--listItem--icon" data-extension="{{slot item root.slots.FileType}}" data-is-container="{{slot item root.slots.IsFolder}}" data-size="32" data-theme-variant="{{JSONstringify root.theme}}"></pnp-iconfile> {{/contains}} {{/if}} <div class="template--listItem--contentContainer"> <span class="template--listItem--title example-themePrimary"> <a href="{{slot item root.slots.PreviewUrl}}" target="_blank" style="color:{{@root.theme.semanticColors.link}}" data-interception="off">{{slot item root.slots.Title}}</a> </span>{{slot item root.slots.Definition}} <p></p> <span><b>Business Processes: </b>{{slot item root.slots.[Business Processes]}}</span> <span><b>Products/Services: </b>{{slot item root.slots.[Products/Services]}}</span> <span><b>Software/Apps: </b>{{slot item root.slots.[Software/Apps]}}</span> <span><b>Term Owners: </b>{{slot item root.slots.[Term Owners]}}</span> <span><b>Related Terms/Phrases: </b>{{slot item root.slots.[Related Term/Phrase]}}</span> <p></p> <span> <span class="template--listItem--author"> Term last updated by {{#with (split (slot item root.slots.Author) '|')}} {{[1]}} {{/with}} </span> <b><span class="template--listItem--date"> on {{getDate (slot item root.slots.Date) "LL"}}</span></b> </span> <div>{{getSummary (slot item root.slots.Summary)}}</div> <div class="template--listItem--tags example-themePrimary"> {{#if (slot item root.slots.Tags)}} <pnp-icon data-name="Tag" aria-hidden="true" data-theme-variant="{{JSONstringify root.theme}}"></pnp-icon> <div> {{#each (split (slot item root.slots.Tags) ",") as |tag| }} <span>{{trim tag}}</span> {{/each}} </div> {{/if}} </div> </div> </div> {{#if root.properties.layoutProperties.showItemThumbnail}} <div class="template--listItem--thumbnailContainer"> <div class="thumbnail--image"> <pnp-filepreview data-preview-url="{{slot item root.slots.PreviewUrl}}" data-preview-image-url="{{slot item root.slots.PreviewImageUrl}}" data-theme-variant="{{JSONstringify root.theme}}"> <pnp-img alt='preview-image' width="120" src="{{slot item root.slots.PreviewImageUrl}}" loading="lazy" data-error-image="{{@root.utils.defaultImage}}" /> </pnp-filepreview> <div class="thumbnail--hover"> <div> <pnp-icon data-name="DocumentSearch" aria-hidden="true"></pnp-icon> </div> </div> </div> </div> {{/if}} {{/resultTypes}} </li> </template> </pnp-select> {{/each}} </ul> {{#if root.properties.paging.showPaging}} {{#gt root.data.totalItemsCount root.properties.paging.itemsCountPerPage}} <pnp-pagination data-total-items="{{@root.data.totalItemsCount}}" data-hide-first-last-pages="{{@root.properties.paging.hideFirstLastPages}}" data-hide-disabled="{{@root.properties.paging.hideDisabled}}" data-hide-navigation="{{@root.properties.paging.hideNavigation}}" data-range="{{@root.properties.paging.pagingRange}}" data-items-count-per-page="{{@root.properties.paging.itemsCountPerPage}}" data-current-page-number="{{@root.paging.currentPageNumber}}" data-page-links="{{JSONstringify root.data.paging.links}}" data-theme-variant="{{JSONstringify root.theme}}"> </pnp-pagination> {{/gt}} {{/if}} </div> </content> <content id="placeholder-content"> <style> /* Insert your CSS overrides here */ </style> <div class="placeholder"> {{#if root.properties.showResultsCount}} <div class="template--resultCount"> <span class="placeholder--shimmer placeholder--line" style="width: 20%"></span> </div> {{/if}} <ul class="template--defaultList"> {{#times root.properties.paging.itemsCountPerPage}} <li class="template--listItem" tabindex="0"> <div class="template--listItem--result"> {{#if root.properties.layoutProperties.showFileIcon}} <div class="template--listItem--icon placeholder--shimmer "></div> {{/if}} <div class="template--listItem--contentContainer"> <span class="placeholder--shimmer placeholder--line" style="width: 60%"></span> <span class="placeholder--shimmer placeholder--line" style="width: 100%"></span> <span class="placeholder--shimmer placeholder--line" style="width: 100%"></span> <span class="placeholder--shimmer placeholder--line" style="width: 35%"></span> <span class="placeholder--shimmer placeholder--line" style="width: 20%"></span> </div> </div> {{#if root.properties.layoutProperties.showItemThumbnail}} <div class="template--listItem--thumbnailContainer"> <div class="thumbnail--image"> <div class="placeholder--shimmer" style="width: 120px;height: 70px;"></div> </div> </div> {{/if}} </li> {{/times}} </ul> </div> </content>4.5KViews0likes2CommentsNeed to remove one drive folder using PnP Powershell
Hi Team, I'm trying to remove a folder using PnP and its throwing error as 404 Not Found, commands i am using as below Connect-PnPOnline -Url "onedrive Url" - credential (Get-Credential) $name = "Nest1" $Folderpath = "Document\Nest1" Remove-PnPFolder -Name $name -Folder $Folderpath - Force -Recycle Thank you for your help Regards Saurav2KViews0likes2CommentsHow to display hyperlink with Display text in PNP Search results webpart?
Hi I have a list that contains a url column. I'm trying to display the list items in PNP Search results webpart. However it is displaying only the link present within the column but not the hyperlink. Where am I going wrong? Can anyone please advise? The list column is like this: Only links are displayed like this. Thanks Raj2.7KViews0likes2CommentsAdd-PnPGroupMember won't map a user
With the following command I will entitle our users to a specfic site: Connect-PnPOnline -Url https://xxx.sharepoint.com/sites/yyy -Credentials $userCredential2 $groupMember = Get-PnPGroup -AssociatedMemberGroup $gruppennameM = $groupMember.Title $groupid = $groupMember.Id Add-PnPGroupMember -LoginName user@company.com -Group $groupid After sending command above I get the following error: Add-PnPGroupMember : Method not found: "Int32 System.Text.Encodings.Web.TextEncoder.FindFirstCharacterToEncodeUtf8(System.ReadOnlySpan`1)". The command is full correct, the ID of the group is correct and the user is correct. Why does the command not work for me ?3.4KViews0likes2CommentsIssue in connecting Azure Ad user api command from PNP online PS script
I have created a Powershell script in Azure function app. Have connected pnponline using Client id and thumbprint by creating an App registration with Graph API. The code is as below. Connect-PnPOnline -Url $adminSiteUrl -ClientId $clientId -Thumbprint $Thumbprint -Tenant "$($tenantName).onmicrosoft.com" Write-Information "Connected Pnp online Successful" $AzureAd = Get-PnPAzureADUser | Select-object Mail,DisplayName,UserPrincipalName Pnp online script has connected successfully but on executing the last line Get-PnpAzureADUser, i am getting the error as below. Error: The provided value for scope User.Read.All is not valid. Client credential flows must have a scope value with /.default suffixed to the resource identifier (application ID URI). Please help me on this issue.161Views0likes1CommentRead Documents versions.
Hi, I am qureying a document library with a filter condition in PnP PowerShell. After that I am writing the below PnP code to get the version properties for each library item. Get-PnPProperty -ClientObject $libitem -Property Versions My question when ever I call the above command will it get the data by hitting the server or get the data from the $libitem (library item) If it is hitting the server, can you please let me know if there is any way to get all the properties of the version for a library item without hitting the server. Regards, Kishore.655Views0likes1CommentDoes MS have APIs to allow license procurement/fulfillment to be done programmatically
Being a reseller of MS products, are there APIs that our reseller portal can call to facilitate license procurement/fulfillment/management programmatically i.e., no redirect to MS website to do the ordering, signing EULA, paying. We want of call APIs from our portal to allow our customers do the purchasing in a single pane of glass within our portal. Does MS expose APIs to allow this?714Views0likes1CommentUnable to deploy SPFX field customizer to all sites automatically
Hi, I have developed one SPFX field customizer solution to customize field value in library. I would like to deploy this solution automatically on all sites of site collection. I tried it by using SkipFeatureDeployment option to true but it is not installing on all sites. Need help to deploy Spfx field customizer solution to be install on all sites automatically in site collection. Manually it is working fine. Thanks,731Views0likes1Comment