

PHPコードをエクセルに張り付けると検索ボックスがでてくる!
プログラムのマニュアル書を作成しています。
エディタでもいいのですがエクセルが検索機能が充実しているので
エクセルやっています。
しかし!
以下のプログラムの個々のコードですが!
エクセルに以下のプログラム張り付けると なぜか?
ホームページみたいに検索ボックスがでてきてしまいます。
プログラムのコード自体が出てきません?
この場合メモ帳のようにプログラムコード事態を表示するにはにどう
したらできますか?
よろしくお願いいたします。
<?php
/*************** データベース情報等の読み込み ***************/
require_once("data/db_info.php");
/*************** データベースへ接続、データベース選択 ***************/
$s=new PDO("mysql:host=$SERV;dbname=$DBNM",$USER,$PASS);
/*************** タイトル等の表示 ***************/
print <<<eot1
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>SQLカフェ 検索のページ</title>
</head>
<body style="background-color:aqua">
<hr>
<div style="font-size:18pt">(検索結果はこちらに)</div>
eot1;
/*************** 検索文字列を取得してタグを削除 ***************/
$se_d=isset($_GET["se"])?htmlspecialchars($_GET["se"]):null;
/*************** 検索文字列($se_d)にデータがあれば検索処理 ***************/
if($se_d<>""){
/*************** 検索のSQL文 テーブルtbj1にtbj0を結合 ***************/
$str=<<<eot2
SELECT tbj1.bang,tbj1.nama,tbj1.mess,tbj0.sure
FROM tbj1
JOIN tbj0
ON
tbj1.guru=tbj0.guru
WHERE tbj1.mess LIKE "%$se_d%"
eot2;
/*************** 検索クエリを実行 ***************/
$re=$s->query($str);
while($kekka=$re->fetch()){
print " $kekka[0] : $kekka[1] : $kekka[2] ( $kekka[3] )";
print "<br><br>";
}
}
/*************** 検索文字列入力用表示、トップへのリンク ***************/
print <<<eot3
<hr>
<div>メッセージに含まれる文字を入力してください!</div>
<form method="GET" action="keizi_search.php">
検索する文字列
<input type="text" name="se">
<div>
<input type="submit" value="検索">
</div>
</form>
<br>
<a href="keizi_top.php">スレッド一覧に戻る</a>
</body>
</html>
eot3;
?>
No.2ベストアンサー
- 回答日時:
質問文のコードだと行頭のスペース(インデント)が消去されてますが、
実際のコード(Excelに貼り付ける前)だとインデントがあるのでは?
この場合、HTMLソースなどでも同じですがExcelが勝手にHTML形式に
変換してしまいます。Excelの仕様なので、ひと手間が必要です。
対処法その1
[テキストファイルウィザード]を使用する。
テキストファイルとして用意されているのなら、それをインポート。
https://hamachan.info/win10-excel-text/
ファイルとして用意されていないのなら、コピーをして貼り付け後に
貼り付けオプションで[テキストファイルウィザード]を指定。
https://hamachan.info/win7/office/harituke.html
これなら、インデントを維持したまま取り込めます。
対処法その2
Wordに貼り付け後に貼り付けたものをコピーしてExcelに貼り付け。
この場合には、行頭のインデントが半角スペースでされていると一つの
列ごとに半角スペースがある状態でセルに貼り付けされます。
その1のようなインデントが隣の列になるのとは違います。
対処法その3
質問文にあるコードをコピーして貼り付けすると、一つの列にテキスト
として貼り付けることができていると思います。これを利用することで
対応します。
テキストエディターなどで行頭のインデントを(正規表現などで)削除。
行頭インデントをなくすことでExcelが勝手に変換しなくなるようです。
対処法その4
No.1の回答者さんへのお礼にあるように個別に貼り付けする。
コードが多い場合に作業的に多くなるので手間が増えるので非推奨。
その他として、コードにある<を別記号などに変換して貼り付けする
などの対応もあります。個人的には、その1がお勧め。
ご回答下さいましてありがとうございます。
ご紹介してくだいました。
助かりました^^
https://hamachan.info/win10-excel-text/
の
参考Excel2019では、Power Query(パワークエリ)が起動するようになっていますが、設定によって[テキストファイルウィザード]で取り込むことも可能です。
で 完全な 一行単位 で貼り付けが簡単にできました。
一度 ファイルを txt の拡張子に戻してから
作業したほうがいいと思います。
No.3
- 回答日時:
こんにちは。
> あんまりよろしくありませんでしたので!
#1の方法で上手くいかないですか、、
ご質問文のソースについて、当方は問題なく貼り付けできてます。
どう上手くいかないのでしょう?
ワークシート貼付け時に Excel が HTML を解釈してしまうお節介機能は、私の知る限りオフにできません。
セルへ展開したいとのことなので、VBA による解決案を提示します。
Public Sub Paste_PlainText()
Dim source As String: source = GetTextFromClipboard()
If Len(source) Then
Dim buf As Variant: buf = Split(source, vbCrLf)
ActiveCell.Resize(UBound(buf) + 1).Value = WorksheetFunction.Transpose(buf)
End If
End Sub
' クリップボードからテキストを取得する
' 要参照設定: Microsoft Forms 2.0 Object Library
'
Private Function GetTextFromClipboard() As String
With CreateObject("Forms.TextBox.1")
.MultiLine = True
If .CanPaste Then
.Paste
GetTextFromClipboard = .Text
End If
End With
End Function
' 参考URL
' 初心者備忘録 [[VBA]DataObjectを使ったクリップボード操作が上手くいかない場合の対処法]
' https://www.ka-net.org/blog/?p=7537
ご回答下さいましてありがとうございます。
VBですね!
これは 試す価値はあると思います。
機会があれば 試したいと思います。
今後ともよろしくお願いいたします。
ありがとうございます。
貼り付けオプションですね^^
[貼り付け先の書式に合わせるアイコンを選択する。]
では
あんまりよろしくありませんでしたので!
いまのところ
セルを5行にして分割して貼り付けたらOKです。
検索もそれなりにできます。
他 何かいいやり方がありましたら
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルに写真が貼れない(フ...
-
エクセルのライセンスが分かり...
-
【マクロ】実行時エラー '424':...
-
vba テキストボックスとリフト...
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
他のシートの検索
-
【マクロ】【配列】3つのシー...
-
エクセルシートの見出しの文字...
-
セルにぴったし写真を挿入
-
【関数】3つのセルの中で最新...
-
LibreOffice Clalc(またはエク...
-
【マクロ】excelファイルを開く...
-
勤怠表について ABS、TEXT関数...
-
Excelに貼ったXのURLのリンク...
-
【マクロ】【画像あり】❶ブック...
-
【Officer360?Officer365?の...
-
【関数】=EXACT(a1,b1) a1とb1...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
エクセルの関数について
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
エクセルの複雑なシフト表から...
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
【マクロ】左のブックと右のブ...
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】別ファイルへマクロ...
-
【関数】同じ関数なのに、エラ...
-
Amazonでマイクロソフトオフィ...
-
ページが変なふうに切れる
おすすめ情報
いまのところ
図形に張り付けて閲覧しています。
直に張り付けたいですね
皆様ご回答下さいましてありがとうございます。
手が空き次第試みます。
しばらくお待ちください。