転職・就職 0
全26件 (26件中 1-26件目)
1
IDataErrorInfo インターフェースは、データ バインディングによる入力検証を実装するための標準的な手法です。このインターフェースは、特定のプロパティの検証エラーを提供するために使用されます。主なメソッドとプロパティは次の通りです。1. **Error プロパティ**: - Error プロパティは、全体のエラーを表す文字列を取得します。通常、このプロパティは使用されません。2. **this[string columnName] プロパティ**: - this[string columnName] プロパティは、指定されたプロパティの検証エラーを表す文字列を取得します。バインディング エンジンは、このプロパティを使用して、特定のプロパティのエラーを取得します。IDataErrorInfo インターフェースを実装すると、データ バインディングが自動的にエラーを検出し、指定されたプロパティの値に応じて UI を更新します。具体的には、データ バインディングがプロパティの値を取得するたびに、IDataErrorInfo のプロパティを呼び出してエラーを取得し、それに基づいて UI を更新します。また、データ バインディングがエラーを検出するたびに、コントロールの外観を変更することもあります(例: 赤い枠で囲まれたエラーを示すなど)。このインターフェースを使用することで、開発者は入力検証ロジックを簡単に実装し、UI の一貫性と品質を向上させることができます。特に、フォームの入力項目が増えるにつれて、この方法は非常に便利です。
2024.04.20
Imports System.Net.HttpImports System.TextImports System.Threading.TasksImports Newtonsoft.Json.LinqModule Module1 Sub Main() Dim siteUrl As String = "https://your-sharepoint-site-url" Dim username As String = "your-username" Dim password As String = "your-password" Dim listName As String = "YourListName" GetListItemCount(siteUrl, username, password, listName).Wait() End Sub Async Function GetListItemCount(siteUrl As String, username As String, password As String, listName As String) As Task Dim credentials As String = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")) Using client As New HttpClient() client.DefaultRequestHeaders.Authorization = New System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials) Dim endpointUrl As String = $"{siteUrl}/_api/web/lists/getbytitle('{listName}')/items?$select=Id&$top=5000&$count=true" Dim response As HttpResponseMessage = Await client.GetAsync(endpointUrl) If response.IsSuccessStatusCode Then Dim responseContent As String = Await response.Content.ReadAsStringAsync() Dim json As JObject = JObject.Parse(responseContent) Dim itemCount As Integer = json("@odata.count") Console.WriteLine($"Total items in list '{listName}': {itemCount}") Else Console.WriteLine($"Failed to retrieve list items count. StatusCode: {response.StatusCode}") End If End Using End FunctionEnd Module
2024.02.26
Imports System.Net.HttpImports System.TextImports System.Threading.TasksImports System.IOModule Module1 Sub Main() Dim siteUrl As String = "https://your-sharepoint-site-url" Dim username As String = "your-username" Dim password As String = "your-password" Dim sourceFolderUrl As String = "/sites/your-site/shared documents/source-folder/" ' 元のフォルダのURL Dim destinationFolderUrl As String = "/sites/your-site/shared documents/destination-folder/" ' 移動先のフォルダのURL Dim fileName As String = "file.txt" ' 移動するファイルの名前 MoveFileInSharePoint(siteUrl, username, password, sourceFolderUrl, destinationFolderUrl, fileName).Wait() End Sub Async Function MoveFileInSharePoint(siteUrl As String, username As String, password As String, sourceFolderUrl As String, destinationFolderUrl As String, fileName As String) As Task Dim credentials As String = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")) ' 移動元のファイルのパスを取得 Dim sourceFileUrl As String = $"{siteUrl}/_api/web/getfilebyserverrelativeurl('{sourceFolderUrl}/{fileName}')" ' 移動先のフォルダにファイルをアップロードするためのエンドポイントURLを作成 Dim destinationFileUrl As String = $"{siteUrl}/_api/web/getfolderbyserverrelativeurl('{destinationFolderUrl}')/files/add(url='{fileName}',overwrite=true)" Using client As New HttpClient() client.DefaultRequestHeaders.Authorization = New System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials) client.DefaultRequestHeaders.Accept.Add(New System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")) ' 移動元のファイルを読み込む Dim response As HttpResponseMessage = Await client.GetAsync(sourceFileUrl) If response.IsSuccessStatusCode Then ' ファイルの内容を取得 Dim fileBytes As Byte() = Await response.Content.ReadAsByteArrayAsync() Dim fileContent As New ByteArrayContent(fileBytes) ' 移動先にファイルをアップロード Dim uploadResponse As HttpResponseMessage = Await client.PostAsync(destinationFileUrl, fileContent) If uploadResponse.IsSuccessStatusCode Then Console.WriteLine($"File '{fileName}' moved successfully from '{sourceFolderUrl}' to '{destinationFolderUrl}'.") ' 元のファイルを削除 Dim deleteResponse As HttpResponseMessage = Await client.DeleteAsync(sourceFileUrl) If deleteResponse.IsSuccessStatusCode Then Console.WriteLine($"File '{fileName}' deleted successfully from '{sourceFolderUrl}'.") Else Console.WriteLine($"Failed to delete file '{fileName}' from '{sourceFolderUrl}'. StatusCode: {deleteResponse.StatusCode}") End If Else Console.WriteLine($"Failed to move file '{fileName}' to '{destinationFolderUrl}'. StatusCode: {uploadResponse.StatusCode}") End If Else Console.WriteLine($"Failed to retrieve file '{fileName}' from '{sourceFolderUrl}'. StatusCode: {response.StatusCode}") End If End Using End FunctionEnd Module
2024.02.26
Imports System.Net.HttpImports System.TextImports System.Threading.TasksModule Module1 Sub Main() Dim siteUrl As String = "https://your-sharepoint-site-url" Dim username As String = "your-username" Dim password As String = "your-password" Dim listName As String = "YourListName" Dim itemId As Integer = 1 ' 割り当てるリストアイテムのID Dim groupName As String = "YourGroupName" ' ロールを割り当てるサイトグループの名前 AssignRoleToItem(siteUrl, username, password, listName, itemId, groupName).Wait() End Sub Async Function AssignRoleToItem(siteUrl As String, username As String, password As String, listName As String, itemId As Integer, groupName As String) As Task Dim credentials As String = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")) ' グループ ID を取得 Dim groupId As Integer = Await GetGroupId(siteUrl, credentials, groupName) If groupId <> -1 Then ' リストアイテムに対して権限を設定する Dim endpointUrl As String = $"{siteUrl}/_api/web/lists/getbytitle('{listName}')/items({itemId})/roleassignments/addroleassignment(principalid={groupId}, roledefid=1073741827)" Using client As New HttpClient() client.DefaultRequestHeaders.Authorization = New System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials) client.DefaultRequestHeaders.Accept.Add(New System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")) Dim response As HttpResponseMessage = Await client.PostAsync(endpointUrl, Nothing) If response.IsSuccessStatusCode Then Console.WriteLine($"Role assigned to group '{groupName}' successfully for item ID: {itemId}.") Else Console.WriteLine($"Failed to assign role to group for item. StatusCode: {response.StatusCode}") End If End Using Else Console.WriteLine($"Group '{groupName}' not found.") End If End Function Async Function GetGroupId(siteUrl As String, credentials As String, groupName As String) As Task(Of Integer) Dim groupId As Integer = -1 Dim endpointUrl As String = $"{siteUrl}/_api/web/sitegroups?$filter=Title eq '{groupName}'" Using client As New HttpClient() client.DefaultRequestHeaders.Authorization = New System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials) client.DefaultRequestHeaders.Accept.Add(New System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")) Dim response As HttpResponseMessage = Await client.GetAsync(endpointUrl) If response.IsSuccessStatusCode Then Dim responseContent As String = Await response.Content.ReadAsStringAsync() Dim groupData = Newtonsoft.Json.JsonConvert.DeserializeObject(responseContent) If groupData("value").Count > 0 Then groupId = groupData("value")(0)("Id") End If Else Console.WriteLine($"Failed to retrieve group information. StatusCode: {response.StatusCode}") End If End Using Return groupId End FunctionEnd Module
2024.02.26
Imports System.Net.HttpImports System.TextImports System.Threading.TasksModule Module1 Sub Main() Dim siteUrl As String = "https://your-sharepoint-site-url" Dim username As String = "your-username" Dim password As String = "your-password" Dim groupName As String = "YourGroupName" ' グループ名 Dim userEmail As String = "user@example.com" ' 追加するユーザーのメールアドレス AddUserToGroup(siteUrl, username, password, groupName, userEmail).Wait() End Sub Async Function AddUserToGroup(siteUrl As String, username As String, password As String, groupName As String, userEmail As String) As Task Dim credentials As String = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")) ' グループ ID を取得 Dim groupId As Integer = Await GetGroupId(siteUrl, credentials, groupName) If groupId <> -1 Then ' ユーザーをグループに追加する Dim endpointUrl As String = $"{siteUrl}/_api/web/sitegroups({groupId})/users" Dim requestBody As String = $"{{'__metadata': {{'type': 'SP.User'}}, 'LoginName': '{userEmail}'}}" Using client As New HttpClient() client.DefaultRequestHeaders.Authorization = New System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials) client.DefaultRequestHeaders.Accept.Add(New System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")) Dim content As New StringContent(requestBody, Encoding.UTF8, "application/json") Dim response As HttpResponseMessage = Await client.PostAsync(endpointUrl, content) If response.IsSuccessStatusCode Then Console.WriteLine($"User '{userEmail}' added to group '{groupName}' successfully.") Else Console.WriteLine($"Failed to add user to group. StatusCode: {response.StatusCode}") End If End Using Else Console.WriteLine($"Group '{groupName}' not found.") End If End Function Async Function GetGroupId(siteUrl As String, credentials As String, groupName As String) As Task(Of Integer) Dim groupId As Integer = -1 Dim endpointUrl As String = $"{siteUrl}/_api/web/sitegroups?$filter=Title eq '{groupName}'" Using client As New HttpClient() client.DefaultRequestHeaders.Authorization = New System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials) client.DefaultRequestHeaders.Accept.Add(New System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")) Dim response As HttpResponseMessage = Await client.GetAsync(endpointUrl) If response.IsSuccessStatusCode Then Dim responseContent As String = Await response.Content.ReadAsStringAsync() Dim groupData = Newtonsoft.Json.JsonConvert.DeserializeObject(responseContent) If groupData("value").Count > 0 Then groupId = groupData("value")(0)("Id") End If Else Console.WriteLine($"Failed to retrieve group information. StatusCode: {response.StatusCode}") End If End Using Return groupId End FunctionEnd Module
2024.02.26
Imports System.Net.HttpImports System.TextImports System.Threading.TasksImports Newtonsoft.Json.LinqModule Module1 Sub Main() Dim siteUrl As String = "https://your-sharepoint-site-url" Dim username As String = "your-username" Dim password As String = "your-password" GetSiteUsers(siteUrl, username, password).Wait() End Sub Async Function GetSiteUsers(siteUrl As String, username As String, password As String) As Task Dim credentials As String = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")) Using client As New HttpClient() client.DefaultRequestHeaders.Authorization = New System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials) Dim endpointUrl As String = $"{siteUrl}/_api/web/siteusers" Dim response As HttpResponseMessage = Await client.GetAsync(endpointUrl) If response.IsSuccessStatusCode Then Dim responseContent As String = Await response.Content.ReadAsStringAsync() Dim json As JObject = JObject.Parse(responseContent) Dim users As JArray = json("value") ' 取得したユーザーの情報を出力 For Each user As JObject In users Dim userId As Integer = user("Id") Dim userName As String = user("Title") Console.WriteLine($"User ID: {userId}, User Name: {userName}") Next Else Console.WriteLine($"Failed to retrieve site users. StatusCode: {response.StatusCode}") End If End Using End FunctionEnd Module
2024.02.26
Imports System.Net.HttpImports System.TextImports System.Threading.TasksModule Module1 Sub Main() Dim siteUrl As String = "https://your-sharepoint-site-url" Dim username As String = "your-username" Dim password As String = "your-password" Dim folderUrl As String = "/sites/your-site/shared documents/your-folder/" ' 共有フォルダのURL Dim fileName As String = "FileToDelete.txt" ' 削除するファイルの名前 DeleteFileInSharePoint(siteUrl, username, password, folderUrl, fileName).Wait() End Sub Async Function DeleteFileInSharePoint(siteUrl As String, username As String, password As String, folderUrl As String, fileName As String) As Task Dim credentials As String = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")) Using client As New HttpClient() client.DefaultRequestHeaders.Authorization = New System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials) ' ファイルを削除するためのエンドポイントURLを作成 Dim endpointUrl As String = $"{siteUrl}/_api/web/getfilebyserverrelativeurl('{folderUrl}/{fileName}')" ' HTTP DELETE リクエストを送信してファイルを削除 Dim response As HttpResponseMessage = Await client.DeleteAsync(endpointUrl) ' レスポンスをチェックして結果を表示 If response.IsSuccessStatusCode Then Console.WriteLine($"File '{fileName}' deleted successfully from SharePoint folder '{folderUrl}'.") Else Console.WriteLine($"Failed to delete file from SharePoint folder. StatusCode: {response.StatusCode}") End If End Using End FunctionEnd Module
2024.02.26
Imports System.Net.HttpImports System.TextImports System.Threading.TasksImports System.IOModule Module1 Sub Main() Dim siteUrl As String = "https://your-sharepoint-site-url" Dim username As String = "your-username" Dim password As String = "your-password" Dim folderUrl As String = "/sites/your-site/shared documents/your-folder/" ' 共有フォルダのURL Dim fileName As String = "NewExcelFile.xlsx" Dim excelFilePath As String = "path\to\your\excel\file.xlsx" ' 作成するエクセルファイルのパス CreateExcelFileInSharePoint(siteUrl, username, password, folderUrl, fileName, excelFilePath).Wait() End Sub Async Function CreateExcelFileInSharePoint(siteUrl As String, username As String, password As String, folderUrl As String, fileName As String, excelFilePath As String) As Task Dim credentials As String = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")) Using client As New HttpClient() client.DefaultRequestHeaders.Authorization = New System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials) ' ファイルストリームを読み込む Dim fileStream As New FileStream(excelFilePath, FileMode.Open) Dim fileContent As New StreamContent(fileStream) ' ファイルをアップロードするためのエンドポイントURLを作成 Dim endpointUrl As String = $"{siteUrl}/_api/web/getfolderbyserverrelativeurl('{folderUrl}')/files/add(url='{fileName}',overwrite=true)" ' HTTP POST リクエストを送信してファイルをアップロード Dim response As HttpResponseMessage = Await client.PostAsync(endpointUrl, fileContent) ' レスポンスをチェックして結果を表示 If response.IsSuccessStatusCode Then Console.WriteLine($"Excel file '{fileName}' created successfully in SharePoint folder '{folderUrl}'.") Else Console.WriteLine($"Failed to create Excel file in SharePoint folder. StatusCode: {response.StatusCode}") End If End Using End FunctionEnd Module
2024.02.26
Imports System.Net.HttpImports System.TextImports System.Threading.TasksImports Newtonsoft.Json.LinqModule Module1 Sub Main() Dim siteUrl As String = "https://your-sharepoint-site-url" Dim username As String = "your-username" Dim password As String = "your-password" Dim listName As String = "YourListName" Dim createdDate As String = "2024-02-26T00:00:00Z" ' 抽出したい作成日 GetItemsByCreatedDate(siteUrl, username, password, listName, createdDate).Wait() End Sub Async Function GetItemsByCreatedDate(siteUrl As String, username As String, password As String, listName As String, createdDate As String) As Task Dim credentials As String = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")) Using client As New HttpClient() client.DefaultRequestHeaders.Authorization = New System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials) Dim endpointUrl As String = $"{siteUrl}/_api/web/lists/getbytitle('{listName}')/items?$filter=Created eq datetime'{createdDate}'" Dim response As HttpResponseMessage = Await client.GetAsync(endpointUrl) If response.IsSuccessStatusCode Then Dim responseContent As String = Await response.Content.ReadAsStringAsync() Dim json As JObject = JObject.Parse(responseContent) Dim items As JArray = json("value") ' リストアイテムのデータを出力 For Each item As JObject In items Console.WriteLine($"ID: {item("Id")}, Title: {item("Title")}, Created: {item("Created")}") Next Else Console.WriteLine($"Failed to retrieve list items. StatusCode: {response.StatusCode}") End If End Using End FunctionEnd Module
2024.02.26
Imports System.Net.HttpImports System.TextImports System.Threading.TasksImports Newtonsoft.Json.LinqModule Module1 Sub Main() Dim siteUrl As String = "https://your-sharepoint-site-url" Dim username As String = "your-username" Dim password As String = "your-password" Dim listName As String = "YourListName" Dim field1Name As String = "Column1" ' 列1の名前 Dim field2Name As String = "Column2" ' 列2の名前 GetMaxValuePerGroup(siteUrl, username, password, listName, field1Name, field2Name).Wait() End Sub Async Function GetMaxValuePerGroup(siteUrl As String, username As String, password As String, listName As String, field1Name As String, field2Name As String) As Task Dim credentials As String = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")) Using client As New HttpClient() client.DefaultRequestHeaders.Authorization = New System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials) Dim endpointUrl As String = $"{siteUrl}/_api/web/lists/getbytitle('{listName}')/items?$select={field1Name},{field2Name}&$orderby={field1Name}&$top=5000" Dim response As HttpResponseMessage = Await client.GetAsync(endpointUrl) If response.IsSuccessStatusCode Then Dim responseContent As String = Await response.Content.ReadAsStringAsync() Dim json As JObject = JObject.Parse(responseContent) Dim items As JArray = json("value") ' 列1でグループ化して列2の最大値を求める Dim groupedData = From item In items Group item By Key = item(field1Name).ToString() Into Group Select New With { .Key = Key, .MaxValue = Group.Max(Function(x) Convert.ToInt32(x(field2Name))) } ' 結果を出力 For Each group In groupedData Console.WriteLine($"Group: {group.Key}, Max Value: {group.MaxValue}") Next Else Console.WriteLine($"Failed to retrieve list items. StatusCode: {response.StatusCode}") End If End Using End FunctionEnd Module
2024.02.26
Imports System.Net.HttpImports System.TextImports System.Threading.TasksImports Newtonsoft.Json.LinqModule Module1 Sub Main() Dim siteUrl As String = "https://your-sharepoint-site-url" Dim username As String = "your-username" Dim password As String = "your-password" Dim listName As String = "YourListName" GetListItems(siteUrl, username, password, listName).Wait() End Sub Async Function GetListItems(siteUrl As String, username As String, password As String, listName As String) As Task Dim credentials As String = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")) Using client As New HttpClient() client.DefaultRequestHeaders.Authorization = New System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials) Dim endpointUrl As String = $"{siteUrl}/_api/web/lists/getbytitle('{listName}')/items" Dim response As HttpResponseMessage = Await client.GetAsync(endpointUrl) If response.IsSuccessStatusCode Then Dim responseContent As String = Await response.Content.ReadAsStringAsync() Dim json As JObject = JObject.Parse(responseContent) Dim items As JArray = json("value") For Each item As JObject In items Dim itemId As Integer = item("Id") Dim title As String = item("Title") Console.WriteLine($"Item ID: {itemId}, Title: {title}") Next Else Console.WriteLine($"Failed to retrieve list items. StatusCode: {response.StatusCode}") End If End Using End FunctionEnd Module
2024.02.26
Imports System.IOImports System.Net.HttpImports System.Net.Http.HeadersImports System.TextImports System.Threading.TasksModule Module1 Sub Main() Dim siteUrl As String = "https://your-sharepoint-site-url" Dim username As String = "your-username" Dim password As String = "your-password" Dim listName As String = "YourListName" Dim itemId As Integer = 10 ' 添付ファイルを更新するアイテムのID Dim attachmentName As String = "file.txt" ' 更新する添付ファイルの名前 Dim filePath As String = "path\to\your\updated-file.txt" ' 更新したいファイルのパス UpdateAttachmentContent(siteUrl, username, password, listName, itemId, attachmentName, filePath).Wait() End Sub Async Function UpdateAttachmentContent(siteUrl As String, username As String, password As String, listName As String, itemId As Integer, attachmentName As String, filePath As String) As Task Dim credentials As String = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")) Using client As New HttpClient() client.DefaultRequestHeaders.Authorization = New AuthenticationHeaderValue("Basic", credentials) ' 添付ファイルを削除 Dim deleteEndpointUrl As String = $"{siteUrl}/_api/web/lists/getbytitle('{listName}')/items({itemId})/AttachmentFiles/getByFileName('{attachmentName}')" Dim deleteResponse As HttpResponseMessage = Await client.DeleteAsync(deleteEndpointUrl) If Not deleteResponse.IsSuccessStatusCode Then Console.WriteLine($"Failed to delete attachment '{attachmentName}'. StatusCode: {deleteResponse.StatusCode}") Return End If ' 新しい添付ファイルを追加 Dim fileContent As New StreamContent(File.OpenRead(filePath)) fileContent.Headers.ContentDisposition = New ContentDispositionHeaderValue("form-data") With { .Name = "file", .FileName = Path.GetFileName(filePath) } Dim multipartContent As New MultipartFormDataContent() multipartContent.Add(fileContent) Dim addEndpointUrl As String = $"{siteUrl}/_api/web/lists/getbytitle('{listName}')/items({itemId})/AttachmentFiles/add(FileName='{Path.GetFileName(filePath)}')" Dim addResponse As HttpResponseMessage = Await client.PostAsync(addEndpointUrl, multipartContent) If addResponse.IsSuccessStatusCode Then Console.WriteLine($"Attachment '{attachmentName}' content updated successfully for item with ID {itemId}.") Else Console.WriteLine($"Failed to update attachment content. StatusCode: {addResponse.StatusCode}") End If End Using End FunctionEnd Module
2024.02.26
Imports System.Net.HttpImports System.TextImports System.Threading.TasksModule Module1 Sub Main() Dim siteUrl As String = "https://your-sharepoint-site-url" Dim username As String = "your-username" Dim password As String = "your-password" Dim listName As String = "YourListName" Dim itemId As Integer = 10 ' 削除するアイテムのID DeleteListItem(siteUrl, username, password, listName, itemId).Wait() End Sub Async Function DeleteListItem(siteUrl As String, username As String, password As String, listName As String, itemId As Integer) As Task Dim credentials As String = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")) Using client As New HttpClient() client.DefaultRequestHeaders.Authorization = New System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials) Dim endpointUrl As String = $"{siteUrl}/_api/web/lists/getbytitle('{listName}')/items({itemId})" Dim response As HttpResponseMessage = Await client.DeleteAsync(endpointUrl) If response.IsSuccessStatusCode Then Console.WriteLine($"Item with ID {itemId} deleted successfully from list '{listName}'.") Else Console.WriteLine($"Failed to delete item. StatusCode: {response.StatusCode}") End If End Using End FunctionEnd Module
2024.02.26
Imports System.IOImports System.Net.HttpImports System.Net.Http.HeadersImports System.TextImports System.Threading.TasksModule Module1 Sub Main() Dim siteUrl As String = "https://your-sharepoint-site-url" Dim username As String = "your-username" Dim password As String = "your-password" Dim listName As String = "YourListName" Dim itemId As Integer = 10 Dim filePath As String = "path\to\your\file.txt" ' 添付するファイルのパス AttachFileToListItem(siteUrl, username, password, listName, itemId, filePath).Wait() End Sub Async Function AttachFileToListItem(siteUrl As String, username As String, password As String, listName As String, itemId As Integer, filePath As String) As Task Dim credentials As String = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")) Using client As New HttpClient() client.DefaultRequestHeaders.Authorization = New AuthenticationHeaderValue("Basic", credentials) Dim fileContent As New StreamContent(File.OpenRead(filePath)) fileContent.Headers.ContentDisposition = New ContentDispositionHeaderValue("form-data") With { .Name = "file", .FileName = Path.GetFileName(filePath) } Dim multipartContent As New MultipartFormDataContent() multipartContent.Add(fileContent) Dim endpointUrl As String = $"{siteUrl}/_api/web/lists/getbytitle('{listName}')/items({itemId})/AttachmentFiles/add(FileName='{Path.GetFileName(filePath)}')" Dim response As HttpResponseMessage = Await client.PostAsync(endpointUrl, multipartContent) If response.IsSuccessStatusCode Then Console.WriteLine($"File '{Path.GetFileName(filePath)}' attached to item with ID {itemId} successfully.") Else Console.WriteLine($"Failed to attach file. StatusCode: {response.StatusCode}") End If End Using End FunctionEnd Module
2024.02.26
Imports System.Net.HttpImports System.TextImports System.Threading.TasksModule Module1 Sub Main() Dim siteUrl As String = "https://your-sharepoint-site-url" Dim username As String = "your-username" Dim password As String = "your-password" Dim listName As String = "YourListName" Dim itemId As Integer = 10 Dim newTitle As String = "New Title" UpdateItemTitle(siteUrl, username, password, listName, itemId, newTitle).Wait() End Sub Async Function UpdateItemTitle(siteUrl As String, username As String, password As String, listName As String, itemId As Integer, newTitle As String) As Task Dim credentials As String = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")) Using client As New HttpClient() client.DefaultRequestHeaders.Authorization = New System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials) client.DefaultRequestHeaders.Accept.Add(New System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")) Dim endpointUrl As String = $"{siteUrl}/_api/web/lists/getbytitle('{listName}')/items({itemId})" Dim metadata As String = $"{{'__metadata': {{'type': 'SP.ListItem'}},'Title': '{newTitle}'}}" Dim content As New StringContent(metadata, Encoding.UTF8, "application/json") Dim response As HttpResponseMessage = Await client.PostAsync(endpointUrl, content) If response.IsSuccessStatusCode Then Console.WriteLine($"Item with ID {itemId} updated successfully. New title: {newTitle}") Else Console.WriteLine($"Failed to update item. StatusCode: {response.StatusCode}") End If End Using End FunctionEnd Module
2024.02.26
Imports System.Net.HttpImports System.TextImports System.Threading.TasksModule Module1 Sub Main() Dim siteUrl As String = "https://your-sharepoint-site-url" Dim username As String = "your-username" Dim password As String = "your-password" Dim listName As String = "YourListName" Dim fieldName As String = "NewField" Dim fieldType As String = "Text" AddFieldToList(siteUrl, username, password, listName, fieldName, fieldType).Wait() End Sub Async Function AddFieldToList(siteUrl As String, username As String, password As String, listName As String, fieldName As String, fieldType As String) As Task Dim credentials As String = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")) Using client As New HttpClient() client.DefaultRequestHeaders.Authorization = New System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials) client.DefaultRequestHeaders.Accept.Add(New System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")) Dim endpointUrl As String = $"{siteUrl}/_api/web/lists/getbytitle('{listName}')/fields" Dim metadata As String = $"{{'__metadata': {{'type': 'SP.Field'}},'Title': '{fieldName}','FieldTypeKind': {GetFieldTypeKind(fieldType)}}}" Dim content As New StringContent(metadata, Encoding.UTF8, "application/json") Dim response As HttpResponseMessage = Await client.PostAsync(endpointUrl, content) If response.IsSuccessStatusCode Then Console.WriteLine($"Field '{fieldName}' added successfully to list '{listName}'.") Else Console.WriteLine($"Failed to add field. StatusCode: {response.StatusCode}") End If End Using End Function Function GetFieldTypeKind(fieldType As String) As Integer Select Case fieldType.ToLower() Case "text" Return 2 Case "note" Return 3 Case "number" Return 9 Case "choice" Return 6 Case "date" Return 4 Case "datetime" Return 5 Case Else Return -1 ' Unknown field type End Select End FunctionEnd Module
2024.02.26
Imports System.Net.HttpImports System.TextImports System.Threading.TasksModule Module1 Sub Main() Dim siteUrl As String = "https://your-sharepoint-site-url" Dim username As String = "your-username" Dim password As String = "your-password" Dim listName As String = "YourListName" Dim fieldName As String = "NewField" Dim fieldType As String = "Text" AddFieldToList(siteUrl, username, password, listName, fieldName, fieldType).Wait() End Sub Async Function AddFieldToList(siteUrl As String, username As String, password As String, listName As String, fieldName As String, fieldType As String) As Task Dim credentials As String = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")) Using client As New HttpClient() client.DefaultRequestHeaders.Authorization = New System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials) client.DefaultRequestHeaders.Accept.Add(New System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")) Dim endpointUrl As String = $"{siteUrl}/_api/web/lists/getbytitle('{listName}')/fields" Dim metadata As String = $"{{'__metadata': {{'type': 'SP.Field'}},'Title': '{fieldName}','FieldTypeKind': '{GetFieldTypeKind(fieldType)}'}}" Dim content As New StringContent(metadata, Encoding.UTF8, "application/json") Dim response As HttpResponseMessage = Await client.PostAsync(endpointUrl, content) If response.IsSuccessStatusCode Then Console.WriteLine($"Field '{fieldName}' added successfully to list '{listName}'.") Else Console.WriteLine($"Failed to add field. StatusCode: {response.StatusCode}") End If End Using End Function Function GetFieldTypeKind(fieldType As String) As Integer Select Case fieldType.ToLower() Case "text" Return 2 Case "number" Return 9 Case "choice" Return 6 Case "date" Return 4 Case Else Return -1 ' Unknown field type End Select End FunctionEnd Module
2024.02.26
Imports System.Net.HttpImports System.TextImports System.Threading.TasksModule Module1 Sub Main() Dim siteUrl As String = "https://your-sharepoint-site-url" Dim username As String = "your-username" Dim password As String = "your-password" Dim listName As String = "NewList" CreateList(siteUrl, username, password, listName).Wait() End Sub Async Function CreateList(siteUrl As String, username As String, password As String, listName As String) As Task Dim credentials As String = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}")) Using client As New HttpClient() client.DefaultRequestHeaders.Authorization = New System.Net.Http.Headers.AuthenticationHeaderValue("Basic", credentials) client.DefaultRequestHeaders.Accept.Add(New System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")) Dim endpointUrl As String = $"{siteUrl}/_api/web/lists" Dim metadata As String = $"{{'__metadata': {{'type': 'SP.List'}},'AllowContentTypes': true,'BaseTemplate': 100,'ContentTypesEnabled': true,'Description': 'My Custom List','Title': '{listName}'}}" Dim content As New StringContent(metadata, Encoding.UTF8, "application/json") Dim response As HttpResponseMessage = Await client.PostAsync(endpointUrl, content) If response.IsSuccessStatusCode Then Console.WriteLine($"List '{listName}' created successfully.") Else Console.WriteLine($"Failed to create list. StatusCode: {response.StatusCode}") End If End Using End FunctionEnd Module
2024.02.26
Imports SystemImports Oracle.DataAccess.ClientModule Program Sub Main(args As String()) Dim connectionString As String = "User Id=myUsername;Password=myPassword;Data Source=myOracleDataSource" ' Oracleへの接続を作成 Using connection As New OracleConnection(connectionString) connection.Open() ' OracleDataAdapterを使用してデータを取得するためのDataSetを作成 Dim dataSet As New DataSet() ' 複数のSQL文を含むクエリを作成 Dim sql As String = " WITH temp1 AS (SELECT * FROM TableA), temp2 AS (SELECT * FROM TableB) SELECT * FROM temp1 INNER JOIN temp2 ON temp1.id = temp2.id; WITH temp3 AS (SELECT * FROM TableC), temp4 AS (SELECT * FROM TableD) SELECT * FROM temp3 INNER JOIN temp4 ON temp3.id = temp4.id; " ' OracleDataAdapterを使用してデータを取得 Using adapter As New OracleDataAdapter(sql, connection) ' DataSetにデータを格納 adapter.Fill(dataSet) End Using ' 結果を処理 For Each table As DataTable In dataSet.Tables For Each row As DataRow In table.Rows For Each column As DataColumn In table.Columns Console.WriteLine(row(column)) Next Next Next End Using End SubEnd Module
2024.02.26
Imports SystemImports Oracle.DataAccess.ClientModule Program Sub Main(args As String()) Dim connectionString As String = "User Id=myUsername;Password=myPassword;Data Source=myOracleDataSource" ' Oracleへの接続を作成 Using connection As New OracleConnection(connectionString) connection.Open() ' WITH句で一時テーブルを作成 Dim withClause As String = "WITH temp AS (SELECT * FROM TableA INNER JOIN TableB ON TableA.id = TableB.id INNER JOIN TableC ON TableB.id = TableC.id)" ' 外部結合を含むSQLクエリを作成 Dim sql As String = withClause & " SELECT * FROM temp LEFT OUTER JOIN TableD ON temp.id = TableD.id" ' コマンドを作成 Using command As New OracleCommand(sql, connection) ' SQLクエリを実行して結果を取得 Using reader As OracleDataReader = command.ExecuteReader() While reader.Read() ' 結果を処理 Console.WriteLine(reader("column1").ToString()) Console.WriteLine(reader("column2").ToString()) ' 他の列も同様に処理 End While End Using End Using End Using End SubEnd Module
2024.02.26
using System;using System.Net;using System.Net.Sockets;using System.Text;class Program{ static void Main(string[] args) { // ブロックするIPアドレス string blockedIP = "192.168.1.100"; // 25番ポートを監視する int port = 25; TcpListener listener = new TcpListener(IPAddress.Any, port); listener.Start(); Console.WriteLine("Waiting for connections..."); while (true) { // クライアントからの接続を待機 TcpClient client = listener.AcceptTcpClient(); Console.WriteLine("Connected to client."); // クライアントのIPアドレスを取得 IPAddress clientIP = ((IPEndPoint)client.Client.RemoteEndPoint).Address; Console.WriteLine("Client IP: " + clientIP); // ブロックするIPアドレスかどうかを確認 if (clientIP.ToString() == blockedIP) { Console.WriteLine("Blocked IP detected. Closing connection."); client.Close(); continue; // 次の接続を待機 } // ネットワークストリームを取得してデータを読み取る NetworkStream stream = client.GetStream(); byte[] buffer = new byte[client.ReceiveBufferSize]; int bytesRead = stream.Read(buffer, 0, buffer.Length); // データを文字列に変換して表示 string dataReceived = Encoding.ASCII.GetString(buffer, 0, bytesRead); Console.WriteLine("Data received: " + dataReceived); // 接続を閉じる client.Close(); } }}
2024.02.25
using System;using System.Net;using System.Net.Sockets;using System.Text;class Program{ static void Main(string[] args) { // 25番ポートを監視する int port = 25; TcpListener listener = new TcpListener(IPAddress.Any, port); listener.Start(); Console.WriteLine("Waiting for connections..."); while (true) { // クライアントからの接続を待機 TcpClient client = listener.AcceptTcpClient(); Console.WriteLine("Connected to client."); // ネットワークストリームを取得してデータを読み取る NetworkStream stream = client.GetStream(); byte[] buffer = new byte[client.ReceiveBufferSize]; int bytesRead = stream.Read(buffer, 0, buffer.Length); // データを文字列に変換して表示 string dataReceived = Encoding.ASCII.GetString(buffer, 0, bytesRead); Console.WriteLine("Data received: " + dataReceived); // 接続を閉じる client.Close(); } }}
2024.02.25
Imports Microsoft.Xrm.Tooling.ConnectorImports Microsoft.PowerPlatform.Cds.ClientImports Microsoft.PowerPlatform.Cds.Client.QueryImports System.LinqModule Module1 Sub Main() Dim connectionString As String = "AuthType=OAuth;Username=yourusername@yourtenant.onmicrosoft.com;Password=yourpassword;Url=https://yourorg.crm.dynamics.com;AppId=51f81489-12ee-4a9e-aaae-a2591f45987d;RedirectUri=app://58145B91-0C36-4500-8554-080854F2AC97;LoginPrompt=Auto" ' Create a new instance of the CrmServiceClient Dim svc As New CdsServiceClient(connectionString) ' Check if the connection is successful If svc.IsReady Then Console.WriteLine("Connection successful") ' Define query expression Dim query As New QueryExpression("account") query.ColumnSet.AddColumns("name", "revenue") ' Group by name and get maximum revenue for each group query.AddAggregation("name", AggregateType.GroupBy) query.AddAggregation("revenue", AggregateType.Max, "max_revenue") ' Execute the query Dim entities As EntityCollection = svc.RetrieveMultiple(query) ' Display retrieved data For Each entity As Entity In entities.Entities Dim name As String = entity.GetAttributeValue(Of String)("name") Dim maxRevenue As Decimal = If(entity.Contains("max_revenue"), entity.GetAttributeValue(Of Money)("max_revenue").Value, 0) Console.WriteLine($"Name: {name}, Max Revenue: {maxRevenue}") Next Else Console.WriteLine("Connection failed") End If ' Close the connection svc.Dispose() Console.ReadLine() End SubEnd Module
2024.02.22
Imports Microsoft.Xrm.Tooling.ConnectorImports Microsoft.PowerPlatform.Cds.ClientImports Microsoft.PowerPlatform.Cds.Client.QueryModule Module1 Sub Main() Dim connectionString As String = "AuthType=OAuth;Username=yourusername@yourtenant.onmicrosoft.com;Password=yourpassword;Url=https://yourorg.crm.dynamics.com;AppId=51f81489-12ee-4a9e-aaae-a2591f45987d;RedirectUri=app://58145B91-0C36-4500-8554-080854F2AC97;LoginPrompt=Auto" ' Create a new instance of the CrmServiceClient Dim svc As New CdsServiceClient(connectionString) ' Check if the connection is successful If svc.IsReady Then Console.WriteLine("Connection successful") ' Define query expression Dim query As New QueryExpression("account") query.ColumnSet.AddColumns("name", "address1_city", "address1_country") ' Execute the query Dim entities As EntityCollection = svc.RetrieveMultiple(query) ' Display retrieved data For Each entity As Entity In entities.Entities Console.WriteLine($"Name: {entity.GetAttributeValue(Of String)("name")}, City: {entity.GetAttributeValue(Of String)("address1_city")}, Country: {entity.GetAttributeValue(Of String)("address1_country")}") Next Else Console.WriteLine("Connection failed") End If ' Close the connection svc.Dispose() Console.ReadLine() End SubEnd Module
2024.02.22
Imports Microsoft.Xrm.Tooling.ConnectorImports Microsoft.PowerPlatform.Cds.ClientImports Microsoft.PowerPlatform.Cds.Client.QueryModule Module1 Sub Main() Dim connectionString As String = "AuthType=OAuth;Username=yourusername@yourtenant.onmicrosoft.com;Password=yourpassword;Url=https://yourorg.crm.dynamics.com;AppId=51f81489-12ee-4a9e-aaae-a2591f45987d;RedirectUri=app://58145B91-0C36-4500-8554-080854F2AC97;LoginPrompt=Auto" ' Create a new instance of the CrmServiceClient Dim svc As New CdsServiceClient(connectionString) ' Check if the connection is successful If svc.IsReady Then Console.WriteLine("Connection successful") ' Retrieve data from an entity (e.g., 'account') Dim query As New QueryExpression("account") query.ColumnSet.AddColumns("name", "address1_city", "address1_country") Dim entities As EntityCollection = svc.RetrieveMultiple(query) ' Display retrieved data For Each entity As Entity In entities.Entities Console.WriteLine($"Name: {entity.GetAttributeValue(Of String)("name")}, City: {entity.GetAttributeValue(Of String)("address1_city")}, Country: {entity.GetAttributeValue(Of String)("address1_country")}") Next Else Console.WriteLine("Connection failed") End If ' Close the connection svc.Dispose() Console.ReadLine() End SubEnd Module
2024.02.22
VB.NET から SharePoint API を使用する方法はいくつかあります。一般的には、SharePoint が提供する REST API や CSOM (Client Side Object Model) を使用して、データの読み書きや操作を行います。以下に、REST API を使用する方法の一例を示します。vbCopy codeImports System.NetImports System.IOModule Module1 Sub Main() Dim siteUrl As String = "https://yoursharepointsite.sharepoint.com/sites/yoursite" Dim userName As String = "yourusername@yoursharepointsite.onmicrosoft.com" Dim password As String = "yourpassword" Dim endpointUrl As String = siteUrl & "/_api/web/lists/getbytitle('YourList')/items" Dim request As HttpWebRequest = CType(WebRequest.Create(endpointUrl), HttpWebRequest) request.Method = "GET" request.Accept = "application/json;odata=verbose" request.ContentType = "application/json;odata=verbose" request.Credentials = New NetworkCredential(userName, password) Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse) Dim reader As New StreamReader(response.GetResponseStream()) Dim responseText As String = reader.ReadToEnd() Console.WriteLine(responseText) response.Close() End SubEnd Moduleこのコードは、指定した SharePoint サイトからリスト内のアイテムを取得する例です。適切なサイト URL、ユーザー名、パスワード、およびリスト名を指定する必要があります。注意点:SharePoint の REST API を使用するには、Web サーバーに対する適切な権限が必要です。パスワードを平文でコードに埋め込むのはセキュリティ上のリスクがあります。実際のアプリケーションでは、セキュリティを強化するために適切な認証メカニズムを使用することを検討してください。このコードは GET メソッドを使用していますが、必要に応じて他のメソッド(POST、PUT、DELETE など)を使用することもできます。また、CSOM を使用することも可能です。CSOM は、SharePoint サーバー上のオブジェクトに対するクライアント側の操作を可能にします。しかし、REST API と比較して操作が多少複雑になる場合があります。
2024.02.22
全26件 (26件中 1-26件目)
1