javascript_テンプレートリテラル

f:id:sh2ydap3:20210411122908p:plain

左:テンプレートリテラル使用, 右:不使用

https://qiita.com/azukiazusa/items/b0d4a816142134ea7f34

 

■使い方

バックティック文字 (` `) (グレイヴ・アクセントで囲む

囲んだ中身はまんま出力される

プレースホルダ

中で変数を使いたい場合は${}で表現する

式であれば何でも入れることができる

 

文字列結合に+を使わないで済む

javascript_.promisesってなに?

fs.promisesとは、コールバック地獄を避けるためNode.js 10で追加された書き方

 

参考にしたサイト様

https://tech.chakapoko.com/nodejs/file/promises.html

f:id:sh2ydap3:20210408064646p:plain

 

下記ソース出典

https://www.youtube.com/watch?v=WkLVd2uGU7s&list=PLQEKit6tfVVKkp0ELOyKey_v7I89mxYZI&index=16

// require とは、commonJSの仕様の一つでモジュールの読み込み_再利用しやすくなる
// promise とは、コールバックのネストを避けるPromiseを返すAPI
const fs = require("fs").promises;

async function main() {
  await findSalesFiles("stores")
}

main();

// ファイル名を取得する
async function findSalesFiles(folderName) {
  let salesFiles = [];

  // オプション追加_withFileTypes_パス関連のメタデータを返す
  const items = await fs.readdir(folderName, { withFileTypes: true });

  // sales.jsonが見つかるまで再帰的に走査し、見つかると配列の末尾にファイルパスを追加する
  for (const item of items) {
    // ディレクトリの場合
    if (item.isDirectory()) {
      // 配列結合_salesFilesにファイルパスを結合する
      salesFiles = salesFiles.cancat(
        // プレースホルダ `${~}` に式を入れられる
        // 次々とフォルダ名を結合していく
        await findSalesFiles(`${folderName}/${item.name}`)
      );
    } else {
      // ファイル名に到達した場合
      if (item.name === "sales.json") {
        // ファイルのフルパスを配列末尾に追加する
        salesFiles.push(`${folderName}/${item.name}`);
      }
    }

    return salesFiles;
  }

VSCODE_拡張機能導入_prettier

拡張機能導入

 

## prettier

コードフォーマットをする拡張機能を導入

使い方

Shift + Alt + F

でドキュメント整形する

 

 

## markdownlint

誤りを指摘

 

 

## Markdown Preview Enhanced

プレビュー表示

 

VBA_複数ファイルから単一ファイルへ転記

 


' カレントを起点として再帰的にファイル名を取得する
Sub getFileNameRecursively()
Dim path As String
path = ThisWorkbook.path & "\転記元ファイル"

Dim rowIndex As Integer
rowIndex = 1

Call getFilesRecursively(path, rowIndex)
End Sub


' 再帰的にファイル名を取得する
Sub getFilesRecursively(path As String, rowIndex As Integer)
Dim fso As FileSystemObject: Set fso = New FileSystemObject
Dim objFolder As folder
Dim objFile As file

' GetFolder(フォルダ名).SubFoldersでフォルダ配下のフォルダ一覧を取得
For Each objFolder In fso.GetFolder(path).SubFolders
Call getFilesRecursively(objFolder.path, rowIndex)
Next

For Each objFile In fso.GetFolder(path).Files
Call copyString(objFile, rowIndex)
rowIndex = rowIndex + 1
Next

End Sub


Function copyString(objFile As file, rowIndex As Integer) As Integer

' 転記元ブックをオブジェクト化する
Dim wbOriginal As Workbook
Application.Workbooks.Open objFile.path
Set wbOriginal = ActiveWorkbook

' 転記先ブックをオブジェクト化する
Dim wbDestination As Workbook
Dim destinationPath As String
destinationPath = "パス文字列"
Application.Workbooks.Open destinationPath
Set wbDestination = ActiveWorkbook

' 目的の値を取得する
Dim target As String
target = wbOriginal.Sheets(1).Range("F4")
' 転記元ファイルの(X,1)に入力する
wbDestination.Sheets(1).Cells(rowIndex, 1) = target

copyString = rowIndex

' 転記元ファイルを閉じる
wbOriginal.Close

End Function